SlideShare a Scribd company logo
UI AUTOMATION
        Magus Chen
http://magustest.com/blog/
 maguschen@gmail.com
Agenda

● What is UI Automation
● Common tools and framework
● Selenium2/WebDriver
● Continuous Integration
● Data Driven
● Keyword Driven
● Page Object Pattern
● The Future
What is UI Automation

● End to End functional test
● Executed by program
● Verify result by program
● Report defect by program
● Logging for debug
Common tools and framework

●   Commercial
    ○ HP QuickTest Pro
    ○ IBM Rational Functional Tester
●   Open Source
    ○ Selenium/WebDriver
    ○ Watir
    ○ FitNesse
    ○ Sikuli
Selenium2/WebDriver

● Two sophisticated browser automation frameworks are
   merged
   ○ http://seleniumhq.org/
   ○ http://code.google.com/p/selenium/
● Pros
   ○ APIs in popular languages
   ○ Multi-Browser and Multi-OS
   ○ Support many test frameworks
   ○ Support AJAX
Continuous Integration

● What is CI
● Glue in UI Automation
● Parallel test execution
Data Driven

● Test data + re-usable test logic

   Test data:
  Fields                     Data set 1       Data set 2

  Title                      test title one   long title

  Description                simple desc      unicode desc


   Test logic:
     ○     Navigate to target page
     ○     Fetch test data
     ○     Enter title and description
     ○     Submit form
     ○     Verify result
Keyword Driven

● Based on data driven
● Separate the test script developer and test case designer

  Object            Action      Data                 Comment

  signin_username   input       magus@email.com      username

  signin_password   input       password

  signin_btn        click                            page refresh

  page_title        check       Login successfully
Page Object Pattern

● Reuse test code and reduce duplication
● Readable test code
● Focus on "What to do" instead of "How to do"
● Expose method that represent an element that can be seen and
   can be operated on the page
  driver.findElement(By.id("user")).sendKeys("magus");
  driver.findElement(By.id("pwd")).sendKeys("password");
  driver.findElement(By.id("submit")).click()
                              VS
  login_page.login("magus", "password")
The Future

● Parallel
● Run in the cloud
● Example: http://saucelabs.com

More Related Content

PDF
AngularJS Basics
Manaday Mavani
 
PPT
Session vii(java scriptbasics)
Shrijan Tiwari
 
PPTX
Learn TypeScript from scratch
Mohd Manzoor Ahmed
 
PPT
Java Script
siddaram
 
PPT
INFO 3775 Chapter 2 Part 1
Jeff Byrnes
 
PPTX
Web topic 21 pass info via javascript
CK Yang
 
PDF
Javascript DOM
Yoeung Vibol
 
PPTX
Performance & dev tools
Guy Yogev
 
AngularJS Basics
Manaday Mavani
 
Session vii(java scriptbasics)
Shrijan Tiwari
 
Learn TypeScript from scratch
Mohd Manzoor Ahmed
 
Java Script
siddaram
 
INFO 3775 Chapter 2 Part 1
Jeff Byrnes
 
Web topic 21 pass info via javascript
CK Yang
 
Javascript DOM
Yoeung Vibol
 
Performance & dev tools
Guy Yogev
 

What's hot (12)

PPTX
Javascript
Mozxai
 
PPTX
Introduction to html
RitikaBhardwaj19
 
PPTX
Javascipt
Shreyans Gandhi
 
PPT
JavaScript Missing Manual, Ch. 1
Gene Babon
 
PDF
JavaScript Roadmap - DOM Manipulation
Aswin Barath
 
ODP
Css,javascript,php,mysql
vurimi prasad
 
PDF
Lesson 12
Gene Babon
 
PPTX
Live Project On ASP.Net Core 2.0 MVC - Free Webinar
Mohd Manzoor Ahmed
 
PPTX
Java script writing javascript
Jesus Obenita Jr.
 
PPT
Introduction to javaScript
Neil Ghosh
 
PDF
Typescript for grails
Dmytro Ovcharenko
 
PPT
Being mean at hackathons
Devang Paliwal
 
Javascript
Mozxai
 
Introduction to html
RitikaBhardwaj19
 
Javascipt
Shreyans Gandhi
 
JavaScript Missing Manual, Ch. 1
Gene Babon
 
JavaScript Roadmap - DOM Manipulation
Aswin Barath
 
Css,javascript,php,mysql
vurimi prasad
 
Lesson 12
Gene Babon
 
Live Project On ASP.Net Core 2.0 MVC - Free Webinar
Mohd Manzoor Ahmed
 
Java script writing javascript
Jesus Obenita Jr.
 
Introduction to javaScript
Neil Ghosh
 
Typescript for grails
Dmytro Ovcharenko
 
Being mean at hackathons
Devang Paliwal
 
Ad

Similar to Ui automation (20)

PPT
Selenium
husnara mohammad
 
PPT
selenium.ppt
ssuser7b4894
 
PPT
selenium.ppt
AmenSheikh
 
PPT
selenium.ppt
rajnexient
 
PDF
BDD, ATDD, Page Objects: The Road to Sustainable Web Testing
John Ferguson Smart Limited
 
PPT
Test Automation Framework Development Introduction
Ganuka Yashantha
 
PPTX
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
hemasubbu08
 
PPT
Selenium
Sun Technlogies
 
PDF
Webapp Automation Testing of performance marketing and media platform
Knoldus Inc.
 
PPTX
Web UI Tests: Introduce UI tests using Selenium
Peyman Fakharian
 
PPTX
Automated Testing on Web Applications
Samuel Borg
 
PDF
Selenium course training institute ameerpet hyderabad – Best software trainin...
Sathya Technologies
 
PDF
Selenium course training institute ameerpet hyderabad
Sathya Technologies
 
PDF
Testing course content converted
ShreemInstituteProfe
 
PPT
By combining Selenium for frontend testing and tools
sivanandhumanickam84
 
PPTX
Automation solution using jbehave, selenium and hudson
Pankaj Nakhat
 
PDF
Implementing Test Automation in Agile Projects
Dominik Dary
 
PDF
Testing Experience - Evolution of Test Automation Frameworks
Łukasz Morawski
 
PPTX
DSL, Page Object and WebDriver – the path to reliable functional tests.pptx
Mikalai Alimenkou
 
PPT
Test Automation Best Practices (with SOA test approach)
Leonard Fingerman
 
selenium.ppt
ssuser7b4894
 
selenium.ppt
AmenSheikh
 
selenium.ppt
rajnexient
 
BDD, ATDD, Page Objects: The Road to Sustainable Web Testing
John Ferguson Smart Limited
 
Test Automation Framework Development Introduction
Ganuka Yashantha
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
hemasubbu08
 
Selenium
Sun Technlogies
 
Webapp Automation Testing of performance marketing and media platform
Knoldus Inc.
 
Web UI Tests: Introduce UI tests using Selenium
Peyman Fakharian
 
Automated Testing on Web Applications
Samuel Borg
 
Selenium course training institute ameerpet hyderabad – Best software trainin...
Sathya Technologies
 
Selenium course training institute ameerpet hyderabad
Sathya Technologies
 
Testing course content converted
ShreemInstituteProfe
 
By combining Selenium for frontend testing and tools
sivanandhumanickam84
 
Automation solution using jbehave, selenium and hudson
Pankaj Nakhat
 
Implementing Test Automation in Agile Projects
Dominik Dary
 
Testing Experience - Evolution of Test Automation Frameworks
Łukasz Morawski
 
DSL, Page Object and WebDriver – the path to reliable functional tests.pptx
Mikalai Alimenkou
 
Test Automation Best Practices (with SOA test approach)
Leonard Fingerman
 
Ad

Recently uploaded (20)

PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Doc9.....................................
SofiaCollazos
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 

Ui automation

  • 1. UI AUTOMATION Magus Chen http://magustest.com/blog/ [email protected]
  • 2. Agenda ● What is UI Automation ● Common tools and framework ● Selenium2/WebDriver ● Continuous Integration ● Data Driven ● Keyword Driven ● Page Object Pattern ● The Future
  • 3. What is UI Automation ● End to End functional test ● Executed by program ● Verify result by program ● Report defect by program ● Logging for debug
  • 4. Common tools and framework ● Commercial ○ HP QuickTest Pro ○ IBM Rational Functional Tester ● Open Source ○ Selenium/WebDriver ○ Watir ○ FitNesse ○ Sikuli
  • 5. Selenium2/WebDriver ● Two sophisticated browser automation frameworks are merged ○ http://seleniumhq.org/ ○ http://code.google.com/p/selenium/ ● Pros ○ APIs in popular languages ○ Multi-Browser and Multi-OS ○ Support many test frameworks ○ Support AJAX
  • 6. Continuous Integration ● What is CI ● Glue in UI Automation ● Parallel test execution
  • 7. Data Driven ● Test data + re-usable test logic Test data: Fields Data set 1 Data set 2 Title test title one long title Description simple desc unicode desc Test logic: ○ Navigate to target page ○ Fetch test data ○ Enter title and description ○ Submit form ○ Verify result
  • 8. Keyword Driven ● Based on data driven ● Separate the test script developer and test case designer Object Action Data Comment signin_username input [email protected] username signin_password input password signin_btn click page refresh page_title check Login successfully
  • 9. Page Object Pattern ● Reuse test code and reduce duplication ● Readable test code ● Focus on "What to do" instead of "How to do" ● Expose method that represent an element that can be seen and can be operated on the page driver.findElement(By.id("user")).sendKeys("magus"); driver.findElement(By.id("pwd")).sendKeys("password"); driver.findElement(By.id("submit")).click() VS login_page.login("magus", "password")
  • 10. The Future ● Parallel ● Run in the cloud ● Example: http://saucelabs.com