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
7. What Can we Do ? Automate We know That! Then What ??
8.
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.
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 )
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
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