SlideShare a Scribd company logo
1 of 3
Download to read offline
CASE STUDY
Open Source Automation Framework
using
Selenium WebDriver
Background
The client provides training, nutrition, and physical therapy
programs by a team of specialists. As part of their program, they
utilize software that integrates with workout machines to provide
the user with recommended training exercises based on previous
workouts, weekly workout challenges, and member goals.
The client is looking to implement a functional test automation
framework for their application in order to perform regression
testing as new builds are released.
Challenges
The functional test automation framework must support the Google
Chrome web browser. The framework must also be implemented in such a way that script maintenance be
kept at a minimal and current employees will be able to continue creating scripts once the contract for the
RTTS resource comes to an end.
Industry
Healthcare
Solution & Services
 Automated Functional Testing
 Training
Tools
 Selenium WebDriver, JUnit, Eclipse,
Apache Ant, Subversion

Strategy
Selenium WebDriver was used to automate business transactions. RTTS also took advantage of the page
object design pattern to help minimize the maintenance required once an application undergoes UI changes.
Private training was also conducted to provide the client's employees the means to create new test scripts.
Solution
The implemented automation framework is 100% open source and the components are as follows:
 Eclipse
 Java
 Selenium 2
 JUnit
 Apache Ant
 Subversion
Once the framework was in place, the page object design pattern was utilized in which classes were created
for each page in the application. The page object classes provided an interface for the testers to interact with
each page.
Test scripts were then created by calling methods from the page object classes that performed specific
transactions, such as login as registered user, create a new user, create a workout, etc. All work was
committed to a Subversion repository for version controlling.
As Selenium WebDriver lacks any built-in logging mechanism, a custom solution was used to record logs into
an excel file using the open source java api JExcel. Each commands and verifications performed were logged.
This provided a detailed view of where the test script had failed and the steps performed that caused the
failure.
Once the framework was in place and several test scripts created, training was provided to the client's
employees on the usage of Selenium 2.
After training was provided, the client's QA testers began creating test scripts while continuous support was
provided for any issues that were encountered.
During scripting, most of the issues encountered were due to heavy AJAX usage in the application. Since AJAX
would only update a section of the application instead of the entire page, the Selenium WebDriver test script
was executing commands faster than AJAX was updating the UI. The ExpectedConditions class, part of the
Selenium package, was used to wait for certain conditions to be met prior to executing the next Selenium
WebDriver command, such as visibility.
Management had also requested that a report be generated after executing a test suite. In order to create
the report, Apache Ant was used to execute the JUnit tests and generate a JUnit report. The report displayed
metrics on the number of tests that failed and passed. Reports can also be drilled down to display additional
information about each failure and what caused the failure to occur.
Lastly, a local server was set up with virtual machines of different operating systems that supported different
browser versions. These virtual machines will serve to provide an environment in which full regression testing
will be performed on using the Selenium Grid.
Benefits
By sticking with an open source framework, there was no cost in obtaining the required components to set
up the framework.
Additional savings were made by implementing the Selenium Grid. Originally, the client had opted to utilize a
third party company to execute Selenium WebDriver test scripts. The cost of using the third party company
came in at $149/month with limits on the amount of tests that could be executed. With the Selenium Grid,
the client is now able to run Selenium WebDriver test scripts without any limits or fees.
For more information on our solutions and services, go to www.rttsweb.com
copyright Real-Time Technology Solutions, Inc. 2014

More Related Content

What's hot

What's hot (20)

Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...
Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...
Java Tutorial | Java Programming Tutorial | Java Basics | Java Training | Edu...
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
 
Automation Testing by Selenium Web Driver
Automation Testing by Selenium Web DriverAutomation Testing by Selenium Web Driver
Automation Testing by Selenium Web Driver
 
Software testing
Software testingSoftware testing
Software testing
 
Sql injection
Sql injectionSql injection
Sql injection
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
 
Spring boot
Spring bootSpring boot
Spring boot
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
XSS
XSSXSS
XSS
 
Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020
 
Web Test Automation with Selenium
Web Test Automation with SeleniumWeb Test Automation with Selenium
Web Test Automation with Selenium
 
Applet in java
Applet in javaApplet in java
Applet in java
 
Sql injection in cybersecurity
Sql injection in cybersecuritySql injection in cybersecurity
Sql injection in cybersecurity
 
All You Need is One - A ClickOnce Love Story - Secure360 2015
All You Need is One -  A ClickOnce Love Story - Secure360 2015All You Need is One -  A ClickOnce Love Story - Secure360 2015
All You Need is One - A ClickOnce Love Story - Secure360 2015
 
Bug bounty
Bug bountyBug bounty
Bug bounty
 
JavaFX Presentation
JavaFX PresentationJavaFX Presentation
JavaFX Presentation
 
John the ripper & hydra password cracking tool
John the ripper & hydra password cracking toolJohn the ripper & hydra password cracking tool
John the ripper & hydra password cracking tool
 
Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelines
 
Owasp zap
Owasp zapOwasp zap
Owasp zap
 

Similar to Case study: Open Source Automation Framework using Selenium WebDriver

What is Selenium Testing.pdf
What is Selenium Testing.pdfWhat is Selenium Testing.pdf
What is Selenium Testing.pdf
AnanthReddy38
 

Similar to Case study: Open Source Automation Framework using Selenium WebDriver (20)

What is Selenium Testing.pdf
What is Selenium Testing.pdfWhat is Selenium Testing.pdf
What is Selenium Testing.pdf
 
7.pdf
7.pdf7.pdf
7.pdf
 
Automation Testing by Ashwin Shiv
Automation Testing by Ashwin Shiv Automation Testing by Ashwin Shiv
Automation Testing by Ashwin Shiv
 
Selenium and JMeter Testing
Selenium and JMeter TestingSelenium and JMeter Testing
Selenium and JMeter Testing
 
Selenium and JMeter
Selenium and JMeterSelenium and JMeter
Selenium and JMeter
 
Qa process
Qa processQa process
Qa process
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
 
Qa process
Qa processQa process
Qa process
 
Ijetcas14 413
Ijetcas14 413Ijetcas14 413
Ijetcas14 413
 
jDriver Presentation
jDriver PresentationjDriver Presentation
jDriver Presentation
 
Intelligent Testing Tool: Selenium Web Driver
Intelligent Testing Tool: Selenium Web DriverIntelligent Testing Tool: Selenium Web Driver
Intelligent Testing Tool: Selenium Web Driver
 
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptx
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptxA Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptx
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptx
 
Abhilash Alwandi_Resume
Abhilash Alwandi_ResumeAbhilash Alwandi_Resume
Abhilash Alwandi_Resume
 
Fitnesse, Watir and Ruby Based Test Automation System
Fitnesse, Watir and Ruby Based Test Automation SystemFitnesse, Watir and Ruby Based Test Automation System
Fitnesse, Watir and Ruby Based Test Automation System
 
Ashish Baraiya
Ashish BaraiyaAshish Baraiya
Ashish Baraiya
 
What is Selenium Introduction to Selenium Testing.pptx
What is Selenium Introduction to Selenium Testing.pptxWhat is Selenium Introduction to Selenium Testing.pptx
What is Selenium Introduction to Selenium Testing.pptx
 
Automated Test Framework with Cucumber
Automated Test Framework with CucumberAutomated Test Framework with Cucumber
Automated Test Framework with Cucumber
 
Codeception
CodeceptionCodeception
Codeception
 
IRJET- Automatic Device Functional Testing
IRJET- Automatic Device Functional TestingIRJET- Automatic Device Functional Testing
IRJET- Automatic Device Functional Testing
 
Selva_Selenium
Selva_SeleniumSelva_Selenium
Selva_Selenium
 

More from RTTS

How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP Testing
RTTS
 
Data Warehouse Testing in the Pharmaceutical Industry
Data Warehouse Testing in the Pharmaceutical IndustryData Warehouse Testing in the Pharmaceutical Industry
Data Warehouse Testing in the Pharmaceutical Industry
RTTS
 
QuerySurge for DevOps
QuerySurge for DevOpsQuerySurge for DevOps
QuerySurge for DevOps
RTTS
 

More from RTTS (20)

Automated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
 
QuerySurge AI webinar
QuerySurge AI webinarQuerySurge AI webinar
QuerySurge AI webinar
 
State of the Market - Data Quality in 2023
State of the Market - Data Quality in 2023State of the Market - Data Quality in 2023
State of the Market - Data Quality in 2023
 
TestGuild and QuerySurge Presentation -DevOps for Data Testing
TestGuild and QuerySurge Presentation -DevOps for Data TestingTestGuild and QuerySurge Presentation -DevOps for Data Testing
TestGuild and QuerySurge Presentation -DevOps for Data Testing
 
Creating a Project Plan for a Data Warehouse Testing Assignment
Creating a Project Plan for a Data Warehouse Testing AssignmentCreating a Project Plan for a Data Warehouse Testing Assignment
Creating a Project Plan for a Data Warehouse Testing Assignment
 
RTTS Postman and API Testing Webinar Slides.pdf
RTTS Postman and API Testing Webinar  Slides.pdfRTTS Postman and API Testing Webinar  Slides.pdf
RTTS Postman and API Testing Webinar Slides.pdf
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP Testing
 
QuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing WebinarQuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing Webinar
 
Webinar - QuerySurge and Azure DevOps in the Azure Cloud
 Webinar - QuerySurge and Azure DevOps in the Azure Cloud Webinar - QuerySurge and Azure DevOps in the Azure Cloud
Webinar - QuerySurge and Azure DevOps in the Azure Cloud
 
Creating a Data validation and Testing Strategy
Creating a Data validation and Testing StrategyCreating a Data validation and Testing Strategy
Creating a Data validation and Testing Strategy
 
Implementing Azure DevOps with your Testing Project
Implementing Azure DevOps with your Testing ProjectImplementing Azure DevOps with your Testing Project
Implementing Azure DevOps with your Testing Project
 
An introduction to QuerySurge webinar
An introduction to QuerySurge webinarAn introduction to QuerySurge webinar
An introduction to QuerySurge webinar
 
Data Warehouse Testing in the Pharmaceutical Industry
Data Warehouse Testing in the Pharmaceutical IndustryData Warehouse Testing in the Pharmaceutical Industry
Data Warehouse Testing in the Pharmaceutical Industry
 
Completing the Data Equation: Test Data + Data Validation = Success
Completing the Data Equation: Test Data + Data Validation = SuccessCompleting the Data Equation: Test Data + Data Validation = Success
Completing the Data Equation: Test Data + Data Validation = Success
 
the Data World Distilled
the Data World Distilledthe Data World Distilled
the Data World Distilled
 
QuerySurge for DevOps
QuerySurge for DevOpsQuerySurge for DevOps
QuerySurge for DevOps
 
Leveraging HPE ALM & QuerySurge to test HPE Vertica
Leveraging HPE ALM & QuerySurge to test HPE VerticaLeveraging HPE ALM & QuerySurge to test HPE Vertica
Leveraging HPE ALM & QuerySurge to test HPE Vertica
 
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
 
Whitepaper: Volume Testing Thick Clients and Databases
Whitepaper:  Volume Testing Thick Clients and DatabasesWhitepaper:  Volume Testing Thick Clients and Databases
Whitepaper: Volume Testing Thick Clients and Databases
 
Query Wizards - data testing made easy - no programming
Query Wizards - data testing made easy - no programmingQuery Wizards - data testing made easy - no programming
Query Wizards - data testing made easy - no programming
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Case study: Open Source Automation Framework using Selenium WebDriver

  • 1. CASE STUDY Open Source Automation Framework using Selenium WebDriver Background The client provides training, nutrition, and physical therapy programs by a team of specialists. As part of their program, they utilize software that integrates with workout machines to provide the user with recommended training exercises based on previous workouts, weekly workout challenges, and member goals. The client is looking to implement a functional test automation framework for their application in order to perform regression testing as new builds are released. Challenges The functional test automation framework must support the Google Chrome web browser. The framework must also be implemented in such a way that script maintenance be kept at a minimal and current employees will be able to continue creating scripts once the contract for the RTTS resource comes to an end. Industry Healthcare Solution & Services  Automated Functional Testing  Training Tools  Selenium WebDriver, JUnit, Eclipse, Apache Ant, Subversion 
  • 2. Strategy Selenium WebDriver was used to automate business transactions. RTTS also took advantage of the page object design pattern to help minimize the maintenance required once an application undergoes UI changes. Private training was also conducted to provide the client's employees the means to create new test scripts. Solution The implemented automation framework is 100% open source and the components are as follows:  Eclipse  Java  Selenium 2  JUnit  Apache Ant  Subversion Once the framework was in place, the page object design pattern was utilized in which classes were created for each page in the application. The page object classes provided an interface for the testers to interact with each page. Test scripts were then created by calling methods from the page object classes that performed specific transactions, such as login as registered user, create a new user, create a workout, etc. All work was committed to a Subversion repository for version controlling. As Selenium WebDriver lacks any built-in logging mechanism, a custom solution was used to record logs into an excel file using the open source java api JExcel. Each commands and verifications performed were logged. This provided a detailed view of where the test script had failed and the steps performed that caused the failure.
  • 3. Once the framework was in place and several test scripts created, training was provided to the client's employees on the usage of Selenium 2. After training was provided, the client's QA testers began creating test scripts while continuous support was provided for any issues that were encountered. During scripting, most of the issues encountered were due to heavy AJAX usage in the application. Since AJAX would only update a section of the application instead of the entire page, the Selenium WebDriver test script was executing commands faster than AJAX was updating the UI. The ExpectedConditions class, part of the Selenium package, was used to wait for certain conditions to be met prior to executing the next Selenium WebDriver command, such as visibility. Management had also requested that a report be generated after executing a test suite. In order to create the report, Apache Ant was used to execute the JUnit tests and generate a JUnit report. The report displayed metrics on the number of tests that failed and passed. Reports can also be drilled down to display additional information about each failure and what caused the failure to occur. Lastly, a local server was set up with virtual machines of different operating systems that supported different browser versions. These virtual machines will serve to provide an environment in which full regression testing will be performed on using the Selenium Grid. Benefits By sticking with an open source framework, there was no cost in obtaining the required components to set up the framework. Additional savings were made by implementing the Selenium Grid. Originally, the client had opted to utilize a third party company to execute Selenium WebDriver test scripts. The cost of using the third party company came in at $149/month with limits on the amount of tests that could be executed. With the Selenium Grid, the client is now able to run Selenium WebDriver test scripts without any limits or fees. For more information on our solutions and services, go to www.rttsweb.com copyright Real-Time Technology Solutions, Inc. 2014