When tasked with producing a comprehensive HTML5 test automation solution for the enterprise we needed to insure we provided extensive value that went well beyond what most existing toolsets individually provided.  We needed to solve some of the most common problems faced by our web testers and developers:

   * Start/Stop shared Selenium browser sessions across different tools with RemoteWebDriver extensions
   * Persist Selenium browser sessions across different testing sessions (tool invocations) with RemoteWebDriver extensions
   * Remove element identification and resolution out of the tests for simpler test maintenance with Maps
   * Automate various test design-time activities for the test developer
   * Simplify common but complex Selenium automation functions for testers with Libraries
   * Intermix Selenium API, 3rd party API, and SeBuilder scripts as needed with SeInterpreter extensions
   * Automatically blend image-based testing with Selenium support where needed (screen/canvas)
   * Automatically blend Selenium support with Java AWT Robot (keyboard/mouse) support where needed
   * Extend the "Selenium with Java AWT Robot" support to remote servers and grid nodes
   * Automatically launch "local" or "remote" Selenium Server, Hub, or Grid nodes if not running


We can discuss each of these issues and how we chose to solve them.  The various solutions along with all source are available as opensource.

 
1 favorite thumb_down thumb_up 2 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Overview each problem and solution for:

   * Start/Stop shared Selenium browser sessions across different tools with RemoteWebDriver extensions
   * Persist Selenium browser sessions across different testing sessions (tool invocations) with RemoteWebDriver extensions
   * Remove element identification and resolution out of the tests for simpler test maintenance with Maps
   * Automate various test design-time activities for the test developer
   * Simplify common but complex Selenium automation functions for testers with Libraries
   * Intermix Selenium API, 3rd party API, and SeBuilder scripts as needed with SeInterpreter extensions
   * Automatically blend image-based testing with Selenium support where needed (screen/canvas)
   * Automatically blend Selenium support with Java AWT Robot (keyboard/mouse) support where needed
   * Extend the "Selenium with Java AWT Robot" support to remote servers and grid nodes
   * Automatically launch "local" or "remote" Selenium Server, Hub, or Grid nodes if not running

Followed by open discussion Q&A

Learning Outcome

Case Study examples of integrating multiple Selenium technologies (Selenium, RemoteWebDriver, SeBuilder, SeInterpreter, Selenium Server, Selenium Grid) with other 3rd party technologies (Java AWT Robot, Java RMI, SAFS, STAF, Eclipse) for comprehensive solutions to HTML5 test automation.

Target Audience

developers, testers, automation engineers, tool integrators, framework itegrators

schedule Submitted 2 years ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Dave Haeffner Test
    By Dave Haeffner Test  ~  1 year ago
    reply Reply

    Is your enterprise test automation solution open-sourced or proprietary? If proprietary, is it for internal use only at your company or commercially available?

    • Carl Nagle
      By Carl Nagle  ~  1 year ago
      reply Reply

      The solution we have is open-source.  We are currently in the process of migrating from SourceForge CVS to Git on GitHub since SourceForge CVS has been down since July 16.  The core open-source "SAFSDEV" solution has been active with ongoing development on SourceForge since 1998.  The "SeleniumPlus" extension has been active with ongoing development on SourceForge since 2013.

      If appropriate, I can provide links to some of the online documentation if SourceForge is behaving.


  • Liked Herman Ching
    keyboard_arrow_down

    Using genetic algorithm to do exploratory testing with cucumber and selenium.

    Herman Ching
    Herman Ching
    schedule 2 years ago
    Sold Out!
    45 mins
    Experience Report
    Advanced

    Writing selenium tests has an inherent problem in which we can only automate what we know the steps for. It is primarily used for regression and can scale very quickly. We generally optimize regression for sprint's relevant features or have smoke tests to get quicker feedback. In addition negative testing is very expensive to write. This entire process is very manual and the maintenance of tests become more costly than the actual writing of tests. 

    We can change this. By using genetic algorithm and cucumber steps we can create new feature files to discover where in the application may be be problematic. The goal of each individual would be to find the most defect. The two individuals that find the most defects then create children that follows the sequences of how new individuals are form through genetic algorithms. They will breed the next generation of testers which will focus on problematic areas. 

    Let's find out when and if this strategy can be deemed effectively.