SlideShare a Scribd company logo
Issued commercial in confidence © Kainos Evolve Limited 2016 – no reproduction without prior consent.
UI Tests Automation
Framework
In Evolve EDM
Mateusz Radkiewicz
12.2016
Electronic Medical Records
• Electronic Documents Management
• Evolve for IPad
Integrated Care Platform
• Unified Healthcare Interface
Healthcare Applications
• iOS and Web
Kainos Evolve
Electronic Medical
Records
Test Automation in Evolve
Integrated Care
Platform
Apps
Evolve Electronic Documents Management
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
Jenkins
Tools and Tech Stack
• Build Server
TestRail
• Test Case
Management
• Suites / Runs
Jira
• Bugtracker
• SCRUM/Kanban
boards
C#, NUnit, GitHub, Visual Studio
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
Test Results Analysis – Summary E-mails
Test Results Analysis – TestRail
Test Results Analysis – Jenkins
Parsed Console Output, Test Results Analyzer
• Rerun failed test on Jenkins
• Reproduce failure manually
• Rerun failed test locally from IDE
Test Failures Debugging
UI Tests Framework Structure
Test
Delegate
Flow
Page
Component
UI Framework
• 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
• 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
• 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
• Complex reusable web element
e.g.
• DashboardPanel
• Table
• DropDown
• Checkbox
• Root property
• IsLoaded() method
Component Class
• Common workflow
which is used in many
delegates
• Interacts with many
pages and flows
Flow Class
• 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
„Upgraded” methods
Dynamic waits
WebElement
reinitialization
Tests Stability – Selenium Wrappers (UiElement,
UiDriver etc.)
• 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
Library used: https://testapi.codeplex.com
Smart Visual Verification for specific cases (e.g. Atala
viewer)
Smart Visual Verification for specific cases (e.g. Atala
viewer)
Firefox:
Internet Explorer:
Seamless
Browser
Switching Within
One Test
AutoIT for Handling OS Windows
DEMO
Issued commercial in confidence © Kainos Evolve Limited 2016 – no reproduction without prior consent.
Thank you
Mateusz Radkiewicz

More Related Content

What's hot (20)

PPTX
Automated UI testing done right (DDDSydney)
Mehdi Khalili
 
PPTX
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
Jim Lane
 
PDF
Automated Web Testing using JavaScript
Simon Guest
 
PPTX
Protractor Tutorial Quality in Agile 2015
Andrew Eisenberg
 
PDF
Protractor: Tips & Tricks
Sergey Bolshchikov
 
PDF
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...
TestingAR Meetup
 
PPTX
#2 integration + ui tests
eleksdev
 
PDF
AngularJS and Protractor
Filipe Falcão
 
PPTX
Protractor for angularJS
Krishna Kumar
 
PPTX
Protractor overview
Abhishek Yadav
 
PPTX
Angular UI Testing with Protractor
Andrew Eisenberg
 
PDF
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Applitools
 
PDF
Introduction to Protractor
Florian Fesseler
 
PPTX
Protractor survival guide
László Andrási
 
PPTX
An Introduction to AngularJS End to End Testing using Protractor
Cubet Techno Labs
 
PPT
Selenium Architecture
rohitnayak
 
DOCX
Automation Frame works Instruction Sheet
vodQA
 
PDF
Web automation using selenium.ppt
Ana Sarbescu
 
PPTX
Automated Smoke Tests with Protractor
🌱 Dale Spoonemore
 
ODP
Automated UI testing with Selenium
Yuriy Gerasimov
 
Automated UI testing done right (DDDSydney)
Mehdi Khalili
 
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
Jim Lane
 
Automated Web Testing using JavaScript
Simon Guest
 
Protractor Tutorial Quality in Agile 2015
Andrew Eisenberg
 
Protractor: Tips & Tricks
Sergey Bolshchikov
 
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...
TestingAR Meetup
 
#2 integration + ui tests
eleksdev
 
AngularJS and Protractor
Filipe Falcão
 
Protractor for angularJS
Krishna Kumar
 
Protractor overview
Abhishek Yadav
 
Angular UI Testing with Protractor
Andrew Eisenberg
 
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Applitools
 
Introduction to Protractor
Florian Fesseler
 
Protractor survival guide
László Andrási
 
An Introduction to AngularJS End to End Testing using Protractor
Cubet Techno Labs
 
Selenium Architecture
rohitnayak
 
Automation Frame works Instruction Sheet
vodQA
 
Web automation using selenium.ppt
Ana Sarbescu
 
Automated Smoke Tests with Protractor
🌱 Dale Spoonemore
 
Automated UI testing with Selenium
Yuriy Gerasimov
 

Viewers also liked (7)

PPTX
Olga Żądło - Robot Framework
Trójmiejska Grupa Testerska
 
PPTX
TGT#12 - Używasz systemów kontroli wersji? No to Git. - Szymon Rękawek
Trójmiejska Grupa Testerska
 
PPTX
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
Trójmiejska Grupa Testerska
 
PDF
Jak POPRAWNIE zgłaszać błędy
Damian Szczurek
 
PPTX
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
Trójmiejska Grupa Testerska
 
PDF
The Future Of Work & The Work Of The Future
Arturo Pelayo
 
PDF
Creative Traction Methodology - For Early Stage Startups
Tommaso Di Bartolo
 
Olga Żądło - Robot Framework
Trójmiejska Grupa Testerska
 
TGT#12 - Używasz systemów kontroli wersji? No to Git. - Szymon Rękawek
Trójmiejska Grupa Testerska
 
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
Trójmiejska Grupa Testerska
 
Jak POPRAWNIE zgłaszać błędy
Damian Szczurek
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
Trójmiejska Grupa Testerska
 
The Future Of Work & The Work Of The Future
Arturo Pelayo
 
Creative Traction Methodology - For Early Stage Startups
Tommaso Di Bartolo
 
Ad

Similar to TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz Radkiewicz (20)

PPT
Test Automation Framework Designs
Test Automaton
 
DOC
Aravind Java Selenium Automation- US
gbaravindkumar
 
KEY
33rd degree
Dariusz Kordonski
 
PPT
The QA/Testing Process
Synerzip
 
DOC
Selva_Selenium
Selvarajan K
 
PPTX
Visual Studio 2010 for testers
Arpit Dubey
 
PPTX
Neev QA Offering
Neev Technologies
 
PDF
QualiSystems-Brief TestShell
Amy Ho, PMP, PMI-ACP
 
PPTX
Test automation proposal
Mihai-Cristian Fratila
 
PPT
Netserv Software Testing
sthicks14
 
PDF
Pm 6 testing
Radiant Minds
 
PDF
Pm 6 testing
Radiant Minds
 
PPTX
#ATAGTR2020 Presentation - Universal Test Automation Framework
Agile Testing Alliance
 
PPTX
Structured Functional Automated Web Service Testing
rdekleijn
 
DOC
Srinivasa_Jonnalagadda_Resume
Srinivasa Pavan
 
PDF
Automated Testing in DevOps
Haufe-Lexware GmbH & Co KG
 
PDF
Presentation application server diagnostics
xKinAnx
 
DOC
Khushboo_Resume
khushboo Singh
 
PPT
Performance Testing Overview
James Venetsanakos
 
PPTX
Devops architecture
Ojasvi Jagtap
 
Test Automation Framework Designs
Test Automaton
 
Aravind Java Selenium Automation- US
gbaravindkumar
 
33rd degree
Dariusz Kordonski
 
The QA/Testing Process
Synerzip
 
Selva_Selenium
Selvarajan K
 
Visual Studio 2010 for testers
Arpit Dubey
 
Neev QA Offering
Neev Technologies
 
QualiSystems-Brief TestShell
Amy Ho, PMP, PMI-ACP
 
Test automation proposal
Mihai-Cristian Fratila
 
Netserv Software Testing
sthicks14
 
Pm 6 testing
Radiant Minds
 
Pm 6 testing
Radiant Minds
 
#ATAGTR2020 Presentation - Universal Test Automation Framework
Agile Testing Alliance
 
Structured Functional Automated Web Service Testing
rdekleijn
 
Srinivasa_Jonnalagadda_Resume
Srinivasa Pavan
 
Automated Testing in DevOps
Haufe-Lexware GmbH & Co KG
 
Presentation application server diagnostics
xKinAnx
 
Khushboo_Resume
khushboo Singh
 
Performance Testing Overview
James Venetsanakos
 
Devops architecture
Ojasvi Jagtap
 
Ad

More from Trójmiejska Grupa Testerska (20)

PPTX
Rafal prezentacja testowanie ai
Trójmiejska Grupa Testerska
 
PPTX
Tgt 23 przemyslaw_pradzynski
Trójmiejska Grupa Testerska
 
PDF
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
Trójmiejska Grupa Testerska
 
PPTX
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
Trójmiejska Grupa Testerska
 
PPTX
TGT#20 - Ataki XSS - Robert Charewicz
Trójmiejska Grupa Testerska
 
PDF
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
Trójmiejska Grupa Testerska
 
PPTX
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
Trójmiejska Grupa Testerska
 
PPTX
TGT#19 - 3 seconds or less - Piotr Liss
Trójmiejska Grupa Testerska
 
PPTX
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
Trójmiejska Grupa Testerska
 
PPTX
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
Trójmiejska Grupa Testerska
 
PPTX
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
Trójmiejska Grupa Testerska
 
PDF
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
Trójmiejska Grupa Testerska
 
PPTX
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
Trójmiejska Grupa Testerska
 
PPT
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
Trójmiejska Grupa Testerska
 
PPTX
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
Trójmiejska Grupa Testerska
 
PPTX
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
Trójmiejska Grupa Testerska
 
PPTX
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
Trójmiejska Grupa Testerska
 
PPTX
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
Trójmiejska Grupa Testerska
 
PPTX
TGT#12 - Testowanie gier – praca czy zabawa? - Piotr Januszko
Trójmiejska Grupa Testerska
 
PDF
TGT#11 - Zostały Ci jeszcze jakieś włosy? (Testowanie programów równoległych)...
Trójmiejska Grupa Testerska
 
Rafal prezentacja testowanie ai
Trójmiejska Grupa Testerska
 
Tgt 23 przemyslaw_pradzynski
Trójmiejska Grupa Testerska
 
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
Trójmiejska Grupa Testerska
 
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
Trójmiejska Grupa Testerska
 
TGT#20 - Ataki XSS - Robert Charewicz
Trójmiejska Grupa Testerska
 
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
Trójmiejska Grupa Testerska
 
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
Trójmiejska Grupa Testerska
 
TGT#19 - 3 seconds or less - Piotr Liss
Trójmiejska Grupa Testerska
 
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
Trójmiejska Grupa Testerska
 
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
Trójmiejska Grupa Testerska
 
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
Trójmiejska Grupa Testerska
 
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
Trójmiejska Grupa Testerska
 
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
Trójmiejska Grupa Testerska
 
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
Trójmiejska Grupa Testerska
 
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
Trójmiejska Grupa Testerska
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
Trójmiejska Grupa Testerska
 
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
Trójmiejska Grupa Testerska
 
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
Trójmiejska Grupa Testerska
 
TGT#12 - Testowanie gier – praca czy zabawa? - Piotr Januszko
Trójmiejska Grupa Testerska
 
TGT#11 - Zostały Ci jeszcze jakieś włosy? (Testowanie programów równoległych)...
Trójmiejska Grupa Testerska
 

Recently uploaded (20)

PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Tally software_Introduction_Presentation
AditiBansal54083
 

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

  • 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. Electronic Medical Records • Electronic Documents Management • Evolve for IPad Integrated Care Platform • Unified Healthcare Interface Healthcare Applications • iOS and Web Kainos Evolve
  • 3. Electronic Medical Records Test Automation in Evolve Integrated Care Platform Apps
  • 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. Jenkins Tools and Tech Stack • Build Server TestRail • Test Case Management • Suites / Runs Jira • Bugtracker • SCRUM/Kanban boards C#, NUnit, GitHub, Visual Studio
  • 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. Test Results Analysis – Summary E-mails
  • 9. Test Results Analysis – TestRail
  • 10. Test Results Analysis – Jenkins Parsed Console Output, Test Results Analyzer
  • 11. • Rerun failed test on Jenkins • Reproduce failure manually • Rerun failed test locally from IDE Test Failures Debugging
  • 12. UI Tests Framework Structure Test Delegate Flow Page Component UI Framework
  • 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. • 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. • 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. • Complex reusable web element e.g. • DashboardPanel • Table • DropDown • Checkbox • Root property • IsLoaded() method Component Class
  • 17. • Common workflow which is used in many delegates • Interacts with many pages and flows Flow Class
  • 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. „Upgraded” methods Dynamic waits WebElement reinitialization Tests Stability – Selenium Wrappers (UiElement, UiDriver etc.)
  • 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
  • 22. Smart Visual Verification for specific cases (e.g. Atala viewer)
  • 24. AutoIT for Handling OS Windows
  • 25. DEMO
  • 26. Issued commercial in confidence © Kainos Evolve Limited 2016 – no reproduction without prior consent. Thank you Mateusz Radkiewicz