Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz Radkiewicz


Published on

Przyjrzyjmy się w jaki sposób automatyzowane są webowe testy UI w produkcie Evolve Electronic Document Management. Przestawię strukturę frameworka testowego opartego o Selenium i zintegrowanego z Jenkinsem oraz TestRailem. Opowiem o trosce o stabilność testów, maksymalizowanie korzyści z nich płynących oraz o nietypowych problemach i sposobach ich rozwiązywania. Prezentacja zawierać będzie również konkretne przykłady.

Published in: Software
  • Be the first to comment

  • Be the first to like this

TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz Radkiewicz

  1. 1. Issued commercial in confidence © Kainos Evolve Limited 2016 – no reproduction without prior consent. UI Tests Automation Framework In Evolve EDM Mateusz Radkiewicz 12.2016
  2. 2. Electronic Medical Records • Electronic Documents Management • Evolve for IPad Integrated Care Platform • Unified Healthcare Interface Healthcare Applications • iOS and Web Kainos Evolve
  3. 3. Electronic Medical Records Test Automation in Evolve Integrated Care Platform Apps
  4. 4. Evolve Electronic Documents Management
  5. 5. Evolve EDM Testing Process Sprint 1 System Tests Cycle 1 Sprint 2 Sprint 3 Sprint ... • In Sprint Manual Tests • Daily Automated Sanity • Automated Sanity • Manual Regression • New Features Manual Tests • Performance Tests System Tests Cycle 2 System Tests Cycle ... Release
  6. 6. Jenkins Tools and Tech Stack • Build Server TestRail • Test Case Management • Suites / Runs Jira • Bugtracker • SCRUM/Kanban boards C#, NUnit, GitHub, Visual Studio
  7. 7. 1. Build and install Evolve 2. Setup environment and data for tests 3. Execute Pretests 4. Execute Sanity tests, send results to TestRail 5. Send summary e-mail to the team 6. Execute Quarantined tests, send results to TestRail Nightly Build Pipeline
  8. 8. Test Results Analysis – Summary E-mails
  9. 9. Test Results Analysis – TestRail
  10. 10. Test Results Analysis – Jenkins Parsed Console Output, Test Results Analyzer
  11. 11. • Rerun failed test on Jenkins • Reproduce failure manually • Rerun failed test locally from IDE Test Failures Debugging
  12. 12. UI Tests Framework Structure Test Delegate Flow Page Component UI Framework
  13. 13. • Counterpart for manual test case • Clear, contains descriptive names and not store any test data • Chained methods represent related test steps from TestRail Test Class
  14. 14. • Contains test data and test logic • Delegate to Test ratio is 1:1 • Is calling several Page Objects and Flows • Contains assertions • On() method for pages syncronization Delegate Class
  15. 15. • Representation of a web page/view • Methods are operating on web page elements • Can use components - complex elements reusable on several pages • No assertions • IsLoaded() method Page Class
  16. 16. • Complex reusable web element e.g. • DashboardPanel • Table • DropDown • Checkbox • Root property • IsLoaded() method Component Class
  17. 17. • Common workflow which is used in many delegates • Interacts with many pages and flows Flow Class
  18. 18. • Design patterns: Page Objects, Loadable Components • Self-contained tests, no tests dependencies • Each test starts at known application state • Test data cleanup, unique tests data generation • Possibility to rerun tests several times on the same DB • Rerun failed test within the same test run • Quarantine tests category • Constant maintenance (fixes and enhancements) Tests Stability
  19. 19. „Upgraded” methods Dynamic waits WebElement reinitialization Tests Stability – Selenium Wrappers (UiElement, UiDriver etc.)
  20. 20. • Flexible Jenkins builds (single, categories, environments, projects) • TestRail integration • Screenshots and HTML source capturing on failure • Automatic failure reruns • Automatic notification e-mails • Backend features (HL7, EDC, DB) • Environments details service • Multiple applications (Evolve, Admin, Meridio, Iguana, QMS) Noteworthy Framework Features
  21. 21. Library used: Smart Visual Verification for specific cases (e.g. Atala viewer)
  22. 22. Smart Visual Verification for specific cases (e.g. Atala viewer)
  23. 23. Firefox: Internet Explorer: Seamless Browser Switching Within One Test
  24. 24. AutoIT for Handling OS Windows
  25. 25. DEMO
  26. 26. Issued commercial in confidence © Kainos Evolve Limited 2016 – no reproduction without prior consent. Thank you Mateusz Radkiewicz