SlideShare a Scribd company logo
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 (20)

PPTX
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Simplilearn
 
PDF
Postman Webinar: Postman 101
Nikita Sharma
 
PPT
Postman.ppt
ParrotBAD
 
PDF
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | Edureka
Edureka!
 
PPTX
Sentiment Analysis Using Machine Learning
Nihar Suryawanshi
 
PDF
Web automation using selenium.ppt
Ana Sarbescu
 
PDF
Need for automation testing
99tests
 
PPT
Appium
Keshav Kashyap
 
PPTX
TestNG Framework
Levon Apreyan
 
PPTX
Katalon Studio Presentation.pptx
MuhammadHassan440279
 
PDF
Best Python Libraries For Data Science & Machine Learning | Edureka
Edureka!
 
PPTX
Sanity testing and smoke testing
MUHAMMAD FARHAN ASLAM
 
PPTX
Performance Testing using Jmeter and Capacity Testing
Akshay Patole
 
PPTX
Introduction to Automation Testing
Archana Krushnan
 
PDF
Selenium Automation Testing Interview Questions And Answers
Ajit Jadhav
 
PPTX
Appium.pptx
SameerAlam82
 
ODP
Selenium ppt
Anirudh Raja
 
PDF
Katalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio
 
PPT
Automated Testing with Agile
Ken McCorkell
 
PPT
Automation testing strategy, approach & planning
SivaprasanthRentala1975
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Simplilearn
 
Postman Webinar: Postman 101
Nikita Sharma
 
Postman.ppt
ParrotBAD
 
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | Edureka
Edureka!
 
Sentiment Analysis Using Machine Learning
Nihar Suryawanshi
 
Web automation using selenium.ppt
Ana Sarbescu
 
Need for automation testing
99tests
 
TestNG Framework
Levon Apreyan
 
Katalon Studio Presentation.pptx
MuhammadHassan440279
 
Best Python Libraries For Data Science & Machine Learning | Edureka
Edureka!
 
Sanity testing and smoke testing
MUHAMMAD FARHAN ASLAM
 
Performance Testing using Jmeter and Capacity Testing
Akshay Patole
 
Introduction to Automation Testing
Archana Krushnan
 
Selenium Automation Testing Interview Questions And Answers
Ajit Jadhav
 
Appium.pptx
SameerAlam82
 
Selenium ppt
Anirudh Raja
 
Katalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio
 
Automated Testing with Agile
Ken McCorkell
 
Automation testing strategy, approach & planning
SivaprasanthRentala1975
 

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

ODP
Web Testen mit Selenium
openForce Information Technology GesmbH
 
PPTX
Selenium test automation
Srikanth Vuriti
 
PDF
Ijetcas14 413
Iasir Journals
 
DOCX
Testing and Automation
Gulshan kumar Singh
 
PPT
Web Test Automation with Selenium
vivek_prahlad
 
PPT
Selenium Presentation at Engineering Colleges
Vijay Rangaiah
 
DOCX
Multi tool test automation platform
opkey
 
PPTX
What is Selenium Introduction to Selenium Testing.pptx
Syntax Technologies
 
PDF
Leveraging Open Source Automation: A Selenium WebDriver Example
TechWell
 
PDF
Selenium - The Way Of Success
Zbyszek Mockun
 
PDF
Selenium php framework_case_study
360logica Software Testing Services (A Saksoft Company)
 
PDF
Selenium Best Practices For Web Testing
pCloudy
 
PDF
Test automation - Building effective solutions
Artem Nagornyi
 
PPT
XML2Selenium Technical Presentation
jazzteam
 
PDF
KarunamobileAutomation.docx
karuna karu
 
PPTX
Automated Testing on Web Applications
Samuel Borg
 
PDF
How To Use Selenium Successfully (Java Edition)
Sauce Labs
 
PDF
Open Source Software Testing Tools
Varuna Harshana
 
PDF
Operationalization of a solution to automate web forms insertions in the Offi...
Pedro Sobreiro
 
Selenium test automation
Srikanth Vuriti
 
Ijetcas14 413
Iasir Journals
 
Testing and Automation
Gulshan kumar Singh
 
Web Test Automation with Selenium
vivek_prahlad
 
Selenium Presentation at Engineering Colleges
Vijay Rangaiah
 
Multi tool test automation platform
opkey
 
What is Selenium Introduction to Selenium Testing.pptx
Syntax Technologies
 
Leveraging Open Source Automation: A Selenium WebDriver Example
TechWell
 
Selenium - The Way Of Success
Zbyszek Mockun
 
Selenium Best Practices For Web Testing
pCloudy
 
Test automation - Building effective solutions
Artem Nagornyi
 
XML2Selenium Technical Presentation
jazzteam
 
KarunamobileAutomation.docx
karuna karu
 
Automated Testing on Web Applications
Samuel Borg
 
How To Use Selenium Successfully (Java Edition)
Sauce Labs
 
Open Source Software Testing Tools
Varuna Harshana
 
Operationalization of a solution to automate web forms insertions in the Offi...
Pedro Sobreiro
 
Ad

More from RTTS (20)

PDF
Leveraging AI to Simplify and Speed Up ETL Testing
RTTS
 
PDF
Improving Automated Testing Projects with UFT
RTTS
 
PDF
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
PDF
Automated Testing of Microsoft Power BI Reports
RTTS
 
PDF
QuerySurge AI webinar
RTTS
 
PDF
State of the Market - Data Quality in 2023
RTTS
 
PDF
TestGuild and QuerySurge Presentation -DevOps for Data Testing
RTTS
 
PDF
Creating a Project Plan for a Data Warehouse Testing Assignment
RTTS
 
PDF
RTTS Postman and API Testing Webinar Slides.pdf
RTTS
 
PDF
How to Automate your Enterprise Application / ERP Testing
RTTS
 
PDF
QuerySurge Slide Deck for Big Data Testing Webinar
RTTS
 
PPTX
Webinar - QuerySurge and Azure DevOps in the Azure Cloud
RTTS
 
PDF
Creating a Data validation and Testing Strategy
RTTS
 
PPTX
Implementing Azure DevOps with your Testing Project
RTTS
 
PPTX
An introduction to QuerySurge webinar
RTTS
 
PPTX
Data Warehouse Testing in the Pharmaceutical Industry
RTTS
 
PDF
Completing the Data Equation: Test Data + Data Validation = Success
RTTS
 
PDF
the Data World Distilled
RTTS
 
PDF
QuerySurge for DevOps
RTTS
 
PDF
Leveraging HPE ALM & QuerySurge to test HPE Vertica
RTTS
 
Leveraging AI to Simplify and Speed Up ETL Testing
RTTS
 
Improving Automated Testing Projects with UFT
RTTS
 
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Automated Testing of Microsoft Power BI Reports
RTTS
 
QuerySurge AI webinar
RTTS
 
State of the Market - Data Quality in 2023
RTTS
 
TestGuild and QuerySurge Presentation -DevOps for Data Testing
RTTS
 
Creating a Project Plan for a Data Warehouse Testing Assignment
RTTS
 
RTTS Postman and API Testing Webinar Slides.pdf
RTTS
 
How to Automate your Enterprise Application / ERP Testing
RTTS
 
QuerySurge Slide Deck for Big Data Testing Webinar
RTTS
 
Webinar - QuerySurge and Azure DevOps in the Azure Cloud
RTTS
 
Creating a Data validation and Testing Strategy
RTTS
 
Implementing Azure DevOps with your Testing Project
RTTS
 
An introduction to QuerySurge webinar
RTTS
 
Data Warehouse Testing in the Pharmaceutical Industry
RTTS
 
Completing the Data Equation: Test Data + Data Validation = Success
RTTS
 
the Data World Distilled
RTTS
 
QuerySurge for DevOps
RTTS
 
Leveraging HPE ALM & QuerySurge to test HPE Vertica
RTTS
 
Ad

Recently uploaded (20)

PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 

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