The tool set selection
 BadBoy  Selenium  CodedUI ◦ Uses Selenium behind the scene  Siesta ◦ Uses Selenium behind the scene  HP Unified Functional Testing ◦ Too expensive  TestComplete ◦ Too expensive
WebDriver Browser adapters Appium, Selendroid, IOSdriver JSON Wire Protocol JSON Wire Protocol becomes the standard… to work with various browsers in the same way
 All popular browsers support WebDriver protocol so cross-browser compatibility is provided for free  Cross-platform code - the same code works on multiple platforms without changes
 OS supported  Browsers supported  Automation type  Documentation and Support  License  Solution Development and Maintenance  Testing types supported
WebDriver Badboy • Windows • Linux • Mac OS • Solaris • UNIX family • Android • iOS • Windows
WebDriver Badboy • Firefox • IE • Safari • Opera • Chrome • Mobile Safari • Mobile Android • IE 8
WebDriver Badboy • Operates with any browser with variety of configurations • Code based automation • Languages: Java, C#, Perl, PHP, Python, Ruby, and many others • Operates with IE engine on the local machine • Browser configurations are not available. • Step based recording and playing solution with JavaScript customization
WebDriver Badboy • Regular new builds and bug fixes available • Public issues tracker • Complete documentation • Tutorials and best practices • Many forums and articles • Code examples • Open source • 4 years old build • Support is declared • Complete documentation • Discussion forum on the official site
WebDriver Badboy • Open source, licensed under Apache 2.0 License • Free for non- commercial use • Pricing (more that 5 users) – Individual license – $45 – 10 licenses pack – $300 – Wave test manager – $89
WebDriver Badboy • Various solution architectures • Typical source code management approach • No architecture, just recorded trace and customization JavaScript snippets • Number of tool- specific XMLs
Project Structure Page Object Pattern Test Method
Test Method Variables values Compiled into xml file
WebDriver Badboy • Functional testing • Performance testing • Stress testing • Cross-browser compatibility testing • Functional testing
Браузе р Node Node Node Client Client Client Браузе р Hub Execution of tests can be distributes across multiple machines (physical and/or virtual) Tests are executed in parallel to either reduce the testing time or create the appropriate load
 Using CSS locators (default straightforward way) input[id*=datefield] div[id*=manageentry].x-window div[id*=filegrid].x-panel-body  Using ExtJS custom classes with front-end devs help (in case first variant could not help): div[cls=someCls]  Using ExtJS API (reserved way – for any other case): WebElement element = (WebElement) executeJavaScript("return Ext.getBody().dom.children[2].getElementsByTagName('table')[0];");
Development of automated tests for ext js based web sites

Development of automated tests for ext js based web sites

  • 1.
    The tool setselection
  • 2.
     BadBoy  Selenium CodedUI ◦ Uses Selenium behind the scene  Siesta ◦ Uses Selenium behind the scene  HP Unified Functional Testing ◦ Too expensive  TestComplete ◦ Too expensive
  • 3.
  • 5.
     All popularbrowsers support WebDriver protocol so cross-browser compatibility is provided for free  Cross-platform code - the same code works on multiple platforms without changes
  • 6.
     OS supported Browsers supported  Automation type  Documentation and Support  License  Solution Development and Maintenance  Testing types supported
  • 7.
    WebDriver Badboy • Windows •Linux • Mac OS • Solaris • UNIX family • Android • iOS • Windows
  • 8.
    WebDriver Badboy • Firefox •IE • Safari • Opera • Chrome • Mobile Safari • Mobile Android • IE 8
  • 9.
    WebDriver Badboy • Operateswith any browser with variety of configurations • Code based automation • Languages: Java, C#, Perl, PHP, Python, Ruby, and many others • Operates with IE engine on the local machine • Browser configurations are not available. • Step based recording and playing solution with JavaScript customization
  • 10.
    WebDriver Badboy • Regularnew builds and bug fixes available • Public issues tracker • Complete documentation • Tutorials and best practices • Many forums and articles • Code examples • Open source • 4 years old build • Support is declared • Complete documentation • Discussion forum on the official site
  • 11.
    WebDriver Badboy • Opensource, licensed under Apache 2.0 License • Free for non- commercial use • Pricing (more that 5 users) – Individual license – $45 – 10 licenses pack – $300 – Wave test manager – $89
  • 12.
    WebDriver Badboy • Varioussolution architectures • Typical source code management approach • No architecture, just recorded trace and customization JavaScript snippets • Number of tool- specific XMLs
  • 13.
    Project Structure PageObject Pattern Test Method
  • 14.
  • 15.
    WebDriver Badboy • Functionaltesting • Performance testing • Stress testing • Cross-browser compatibility testing • Functional testing
  • 16.
    Браузе р Node Node Node Client Client Client Браузе р Hub Executionof tests can be distributes across multiple machines (physical and/or virtual) Tests are executed in parallel to either reduce the testing time or create the appropriate load
  • 17.
     Using CSSlocators (default straightforward way) input[id*=datefield] div[id*=manageentry].x-window div[id*=filegrid].x-panel-body  Using ExtJS custom classes with front-end devs help (in case first variant could not help): div[cls=someCls]  Using ExtJS API (reserved way – for any other case): WebElement element = (WebElement) executeJavaScript("return Ext.getBody().dom.children[2].getElementsByTagName('table')[0];");