SlideShare a Scribd company logo
Succeeding in Web Automation  A strategy & blueprint June 29, 2010 Kapil Bhalla Vijayan Reddy
Understand the challenges Look at Pain Points Blue Print – Deep Dive Agenda  Next  60 minutes…
Present Scenario -  Product Decade Old Product Interleaved with multiple technologies Focus on new development technologies and framework Increasing team size with newer people Flex Java Script HTML DOJO SOAP Web Services REST
Present Scenario –  Development Agile Development Shorter Release Cycles Long Testing Cycles…growing continuously with every release. No Automation Yet !! Need for Speed
Present Scenario  –  Customer Expectation Should work on my current browser ! Should work on Operating System I use! No Compromise on Quality ! Even higher expectation from Customer Support Google Chrome Internet Explorer 7 Internet Explorer 8 Internet Explorer 6 FireFox 3 FireFox 3.7 Windows XP SP2 Windows XP SP3 Windows Vista Windows 7 Mac 10 / 10
We are in agreement !
What Can we Do ? Automate   We know That!  Then What ??
Agenda  Pain Points Pain Points in Automation Agreement
Pain Points in Automation Absence of Single “Silver Bullet” tool. Poor Ease of automating test cases. (The coding way) Learning Curve for new automation libraries, frameworks. Diversified domain / functional knowledge among team members. Enabling multiple contributors to automation projects. Expected Low maintenance in long run . Always expensive to switch to a different automation tool/framework.
We are in agreement !
Agenda  Blue Print – Deep Dive Overview Onboarding Architecture What we achieved
Blue Print– an Overview Object Oriented   way to test a  Web Application It is a mechanism to enable Structured testing effort Multiple team members to contribute in automation Leverage work done by others Separation of concerns Test code Web Page Objects (Page modeling code) Automation Tool  Loose Test-Tool Coupling
On-boarding :  Page Object A Page Object is Object representation of a Web Page in Java Programming World.  All elements seen on the web page can be interacted with using the respective methods in the page object. Page object uses information in Web Element Repository to interact with an element. public void setPassword(String pass) {…}  setLoginName(String user) { … }
On-boarding -  Tests Test Cases  : Test cases are assertions/verifications made on compilation of workflows using one or more real web pages. Interaction with the web pages is done using Page Objects. Example- Hit the login page, assert that the page loaded completely and it is login page indeed. Test Suites  : These are collection of 1 or more test cases.
Blue Print On-boarding … Reporting : The users can write messages to logs using the APIs exposed by the framework. These messages are displayed in the final reports generated by the TESTNG report engine. Browser : Browser is a place where most of the noticeable action happens. Test   Engine :Test Engine takes in test cases and test suites and execute them.
Blue Print On-boarding  -  WebDriver Web Driver : Page Objects indirectly interact with the set of Web Driver libraries to hook on to the Web Elements and to interact with them.  Some typical scenarios are finding an element, sending text to element, clicking a button, reading value of an element, and so on.. User can use the libraries directly or through the APIs provided by the TeKila framework (Recommended way is TeKila APIs )
TeKila Architecture
Blue Print  What we achieved Ease of use - Its only Simple Java APIs Low learning curve Easy to extend Reuse code and domain knowledge Track execution flow Flexible and Powerful Straightforward integration with other tools/libraries (Html Unit, Selenium)
Summary  Blue Print is … Separation of Concerns. Aggregation of various Open Source tools enabling us to do UI testing on Multiple Browsers and Operating Systems Business Logic layer testing using APIs Profiling data (like page load time, first/last request, http timing, status, etc)
Discussion
References Google WebDriver Project homepage http://code.google.com/p/webdriver/   Google Test Automation Conference (GTAC) 2007 Presentation on WebDriver http://www.youtube.com/watch?v=tGu1ud7hk5I   Xpath basics http://www.w3schools.com/XPath/xpath_syntax.asp
Why WebDriver? Multi-platform support (Mac & Win) Multi-browser support (IE, FF, Safari, Chrome) Faster adoption of new technologies (Win7, new browsers, etc.) Free. The test developers may have fewer hassles obtaining licenses Tests are written in Java programming language Connections to browsers are optimized for each browser (IE uses COM, FF uses a plug-in, Safari uses AppleScript). Selenium executes javascript inside the browser, which causes some testing complications and a risk of a "single source error“ API is object oriented and "cleaner" than Selenium Manipulates browsers directly (instead of hacking JavaScript code into the site) Selenium and WebDriver merging! - Best of both worlds Eclipse IDE
Browser Drivers
Decision Criteria – Web Driver Developer Productivity   Object/API discoverability Good: Using tools like FireBug, IE Developer, Or source code directly  (hit objects using Text, partial text, id - best way usually, xpath, etc...) Training/Consulting available Active Web Driver Community, Internal Users Ease of use Simple Java Programming concepts, Normal Web Elements awareness - Buttons, Anchor, Tables … Language knowledge in team Java.  Beginners 1 to 2 days are good to get going Vendor responsiveness Its GOOGLE Open Source Community - Google Web Driver. Issues get fixed and tracked.  Have seen post replys from simon stewart WD creator. Cross Browser/Platform testing   IE 7/8 YES Both  FF 3.0/3.5 YES Safari 4.0 Mac Should work Tool/Language Features   Program Control (loops, decisions, etc.) ALL Available, you can do almost anything Ability to handle popups Can handle pop ups that are certain, remaining need to be figured out. Incremental Cost One Time effort to build up Specific Infrastructure. (Tool Independent) Then equivalent to : writing simple Java program. License availability FREE (Open Source) Other Tools Integration   Selenium, TestNG, Java Robots, Fitnesse YES, Any tool with  which Java can be easily integrated
Decision Criteria … Criteria Selenium WebDriver Watir Sahi Browser/ Platform Support All All Some  (immature Safari support) All Development/Community Great Good Decent Small, not well known Infrequent releases Ease of use Requires server Concept of Page Object, simple API Ruby learning curve manual proxy, no frames + multiple domains Hacky multiple-domain support Language Support Many! Java Ruby, Java coming JavaScript Modal Dialogs Coming? Coming… Limited Limited

More Related Content

PPT
Test Automation Framework Development Introduction
PDF
Web Test Automation Framework - IndicThreads Conference
PPTX
DSL, Page Object and WebDriver – the path to reliable functional tests.pptx
PPT
Selenium Architecture
PDF
Web UI test automation instruments
PPT
Hybrid Automation Framework Development introduction
PPTX
Software Automation Testing Introduction
PDF
Mastering Test Automation: How to Use Selenium Successfully
Test Automation Framework Development Introduction
Web Test Automation Framework - IndicThreads Conference
DSL, Page Object and WebDriver – the path to reliable functional tests.pptx
Selenium Architecture
Web UI test automation instruments
Hybrid Automation Framework Development introduction
Software Automation Testing Introduction
Mastering Test Automation: How to Use Selenium Successfully

What's hot (20)

PPTX
Selenium Design Patterns
DOCX
Automation Frame works Instruction Sheet
ODP
Jbossworld Presentation
PDF
Continuous Testing Meets the Classroom at Code.org
PPT
Web Test Automation with Selenium
PDF
[Webinar] Continuous Testing Done Right: Test Automation at the World's Leadi...
PPT
Internal DSLs For Automated Functional Testing
PPTX
Architecting test automation using selenium
PPTX
Thesis presentation over Web Development
PPTX
DSL, Page Object and Selenium – a way to reliable functional tests
PPTX
Setup and run automated test framework for android application
PDF
What's new in selenium 4
PPTX
DSL in test automation
PPTX
BDD with SpecFlow and Selenium
PPTX
Best java automation training institute in Bangalore - Selenium Labs
PDF
UI Testing Automation
PDF
Top trending selenium interview questions
PPTX
Silk Performer Presentation v1
PPT
Selenium
PPTX
How to be an awesome test automation professional
Selenium Design Patterns
Automation Frame works Instruction Sheet
Jbossworld Presentation
Continuous Testing Meets the Classroom at Code.org
Web Test Automation with Selenium
[Webinar] Continuous Testing Done Right: Test Automation at the World's Leadi...
Internal DSLs For Automated Functional Testing
Architecting test automation using selenium
Thesis presentation over Web Development
DSL, Page Object and Selenium – a way to reliable functional tests
Setup and run automated test framework for android application
What's new in selenium 4
DSL in test automation
BDD with SpecFlow and Selenium
Best java automation training institute in Bangalore - Selenium Labs
UI Testing Automation
Top trending selenium interview questions
Silk Performer Presentation v1
Selenium
How to be an awesome test automation professional
Ad

Similar to Stepin evening presented (20)

PPTX
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
PDF
Acceptance Testing of Web UI
PPTX
Automation solution using jbehave, selenium and hudson
PDF
Your Framework for Success: introduction to JavaScript Testing at Scale
KEY
Website Testing Practices
PDF
Handson Selenium Webdriver With Java A Deep Dive Into The Development Of Endt...
PPTX
Testing ASP.NET - Progressive.NET
PPTX
Automated integration tests for ajax applications (с. карпушин, auriga)
PDF
Web driver selenium simplified
PDF
Stanislaw potoczny kra_qa_21.01.20
PDF
Selenium webdriver practical_guide
PDF
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
PPTX
Web UI Tests: Introduce UI tests using Selenium
PPTX
Selenium WebDriver - Test automation for web applications
PPTX
Automated Testing on Web Applications
PPTX
Introduction to APIs & how to automate APIs testing with selenium web driver?
PDF
Selenium Online Training.pdf
PDF
Selenium course training institute ameerpet hyderabad
PDF
Selenium course training institute ameerpet hyderabad – Best software trainin...
PDF
Webapp Automation Testing of performance marketing and media platform
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
Acceptance Testing of Web UI
Automation solution using jbehave, selenium and hudson
Your Framework for Success: introduction to JavaScript Testing at Scale
Website Testing Practices
Handson Selenium Webdriver With Java A Deep Dive Into The Development Of Endt...
Testing ASP.NET - Progressive.NET
Automated integration tests for ajax applications (с. карпушин, auriga)
Web driver selenium simplified
Stanislaw potoczny kra_qa_21.01.20
Selenium webdriver practical_guide
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Web UI Tests: Introduce UI tests using Selenium
Selenium WebDriver - Test automation for web applications
Automated Testing on Web Applications
Introduction to APIs & how to automate APIs testing with selenium web driver?
Selenium Online Training.pdf
Selenium course training institute ameerpet hyderabad
Selenium course training institute ameerpet hyderabad – Best software trainin...
Webapp Automation Testing of performance marketing and media platform
Ad

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
A Presentation on Artificial Intelligence
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Understanding_Digital_Forensics_Presentation.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Digital-Transformation-Roadmap-for-Companies.pptx
Approach and Philosophy of On baking technology
A Presentation on Artificial Intelligence
Machine learning based COVID-19 study performance prediction
NewMind AI Monthly Chronicles - July 2025
cuic standard and advanced reporting.pdf
Encapsulation_ Review paper, used for researhc scholars
Mobile App Security Testing_ A Comprehensive Guide.pdf
Big Data Technologies - Introduction.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Review of recent advances in non-invasive hemoglobin estimation

Stepin evening presented

  • 1. Succeeding in Web Automation A strategy & blueprint June 29, 2010 Kapil Bhalla Vijayan Reddy
  • 2. Understand the challenges Look at Pain Points Blue Print – Deep Dive Agenda Next 60 minutes…
  • 3. Present Scenario - Product Decade Old Product Interleaved with multiple technologies Focus on new development technologies and framework Increasing team size with newer people Flex Java Script HTML DOJO SOAP Web Services REST
  • 4. Present Scenario – Development Agile Development Shorter Release Cycles Long Testing Cycles…growing continuously with every release. No Automation Yet !! Need for Speed
  • 5. Present Scenario – Customer Expectation Should work on my current browser ! Should work on Operating System I use! No Compromise on Quality ! Even higher expectation from Customer Support Google Chrome Internet Explorer 7 Internet Explorer 8 Internet Explorer 6 FireFox 3 FireFox 3.7 Windows XP SP2 Windows XP SP3 Windows Vista Windows 7 Mac 10 / 10
  • 6. We are in agreement !
  • 7. What Can we Do ? Automate  We know That! Then What ??
  • 8. Agenda Pain Points Pain Points in Automation Agreement
  • 9. Pain Points in Automation Absence of Single “Silver Bullet” tool. Poor Ease of automating test cases. (The coding way) Learning Curve for new automation libraries, frameworks. Diversified domain / functional knowledge among team members. Enabling multiple contributors to automation projects. Expected Low maintenance in long run . Always expensive to switch to a different automation tool/framework.
  • 10. We are in agreement !
  • 11. Agenda Blue Print – Deep Dive Overview Onboarding Architecture What we achieved
  • 12. Blue Print– an Overview Object Oriented way to test a Web Application It is a mechanism to enable Structured testing effort Multiple team members to contribute in automation Leverage work done by others Separation of concerns Test code Web Page Objects (Page modeling code) Automation Tool Loose Test-Tool Coupling
  • 13. On-boarding : Page Object A Page Object is Object representation of a Web Page in Java Programming World. All elements seen on the web page can be interacted with using the respective methods in the page object. Page object uses information in Web Element Repository to interact with an element. public void setPassword(String pass) {…} setLoginName(String user) { … }
  • 14. On-boarding - Tests Test Cases : Test cases are assertions/verifications made on compilation of workflows using one or more real web pages. Interaction with the web pages is done using Page Objects. Example- Hit the login page, assert that the page loaded completely and it is login page indeed. Test Suites : These are collection of 1 or more test cases.
  • 15. Blue Print On-boarding … Reporting : The users can write messages to logs using the APIs exposed by the framework. These messages are displayed in the final reports generated by the TESTNG report engine. Browser : Browser is a place where most of the noticeable action happens. Test Engine :Test Engine takes in test cases and test suites and execute them.
  • 16. Blue Print On-boarding - WebDriver Web Driver : Page Objects indirectly interact with the set of Web Driver libraries to hook on to the Web Elements and to interact with them. Some typical scenarios are finding an element, sending text to element, clicking a button, reading value of an element, and so on.. User can use the libraries directly or through the APIs provided by the TeKila framework (Recommended way is TeKila APIs )
  • 18. Blue Print What we achieved Ease of use - Its only Simple Java APIs Low learning curve Easy to extend Reuse code and domain knowledge Track execution flow Flexible and Powerful Straightforward integration with other tools/libraries (Html Unit, Selenium)
  • 19. Summary Blue Print is … Separation of Concerns. Aggregation of various Open Source tools enabling us to do UI testing on Multiple Browsers and Operating Systems Business Logic layer testing using APIs Profiling data (like page load time, first/last request, http timing, status, etc)
  • 21. References Google WebDriver Project homepage http://code.google.com/p/webdriver/ Google Test Automation Conference (GTAC) 2007 Presentation on WebDriver http://www.youtube.com/watch?v=tGu1ud7hk5I Xpath basics http://www.w3schools.com/XPath/xpath_syntax.asp
  • 22. Why WebDriver? Multi-platform support (Mac & Win) Multi-browser support (IE, FF, Safari, Chrome) Faster adoption of new technologies (Win7, new browsers, etc.) Free. The test developers may have fewer hassles obtaining licenses Tests are written in Java programming language Connections to browsers are optimized for each browser (IE uses COM, FF uses a plug-in, Safari uses AppleScript). Selenium executes javascript inside the browser, which causes some testing complications and a risk of a "single source error“ API is object oriented and "cleaner" than Selenium Manipulates browsers directly (instead of hacking JavaScript code into the site) Selenium and WebDriver merging! - Best of both worlds Eclipse IDE
  • 24. Decision Criteria – Web Driver Developer Productivity   Object/API discoverability Good: Using tools like FireBug, IE Developer, Or source code directly  (hit objects using Text, partial text, id - best way usually, xpath, etc...) Training/Consulting available Active Web Driver Community, Internal Users Ease of use Simple Java Programming concepts, Normal Web Elements awareness - Buttons, Anchor, Tables … Language knowledge in team Java.  Beginners 1 to 2 days are good to get going Vendor responsiveness Its GOOGLE Open Source Community - Google Web Driver. Issues get fixed and tracked.  Have seen post replys from simon stewart WD creator. Cross Browser/Platform testing   IE 7/8 YES Both FF 3.0/3.5 YES Safari 4.0 Mac Should work Tool/Language Features   Program Control (loops, decisions, etc.) ALL Available, you can do almost anything Ability to handle popups Can handle pop ups that are certain, remaining need to be figured out. Incremental Cost One Time effort to build up Specific Infrastructure. (Tool Independent) Then equivalent to : writing simple Java program. License availability FREE (Open Source) Other Tools Integration   Selenium, TestNG, Java Robots, Fitnesse YES, Any tool with which Java can be easily integrated
  • 25. Decision Criteria … Criteria Selenium WebDriver Watir Sahi Browser/ Platform Support All All Some (immature Safari support) All Development/Community Great Good Decent Small, not well known Infrequent releases Ease of use Requires server Concept of Page Object, simple API Ruby learning curve manual proxy, no frames + multiple domains Hacky multiple-domain support Language Support Many! Java Ruby, Java coming JavaScript Modal Dialogs Coming? Coming… Limited Limited