Child pages
  • Setting Up Selenium for Web Client UI Testing

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Setup Selenium

  • Install the Selenium IDE plugin for Firefox from http://seleniumhq.org/download/ .
  • Create a folder "wicketPathLocatorBuilder" in your local drive with the file "user-extension.js.wicketPathLocatorBuilder" inside. Paste the following snipped in this file.
    Code Block
    LocatorBuilders.add('wicketpath', function(e) {
      var path = '';
      var current = e;
      while (current != null) {
        if (current.parentNode != null) {
          path = this.relativeXPathFromParent(current) + path;
          if (1 == current.parentNode.nodeType && // ELEMENT_NODE
              current.parentNode.getAttribute("wicketpath")) {
            return this.preciseXPath("//" + this.xpathHtmlElement(current.parentNode.nodeName.toLowerCase()) +
                "[@wicketpath=" + this.attributeValue(current.parentNode.getAttribute('wicketpath')) + "]" +
                path, e);
          }
        } else {
          return null;
        }
        current = current.parentNode;
      }
      return null;
        });
    
    LocatorBuilders.order.unshift(LocatorBuilders.order.pop());
  • Open the Selenium IDE, go to menu Options -> Options. In the Selenium Core extensions input field, paste the path to the earlier created folder "wicketPathLocatorBuilder".
  •  Restart firefox.

Please check https://cwiki.apache.org/WICKET/selenium-tips.html

Setup Servoy

 Because IDebugSettings#setOutputComponentPath(true) functionality need to be used, you need to:

  • setup web client property servoy.webclient.debug.wicketpath to true.
  • Save and restart application server.

Selenium description

Main window description

  • The left part of the main window contains the tree structure that represents the test-suite. The right side displays the details of a selected node. At the bottom of the main window you'll see the terminal output area, which displays stan-dard messages and communications in between your test-suite and the client applica-tion you are testing.
  • The basic structure of a test-suite and thus the child nodes of theTest-suite root node is fixed. An arbitrary number of Test-set, Test-case or Test nodes are followed by the Procedures, Extras and Windows and components nodes. The Procedures node holds Packages and Procedures.

Starting the Application

  • If Selenium is configured, Servoy web client also, then you can run the solution on web client with Firefox browser.
  • When the application is running on browser, then the Selenium can be started using <CTRL + ALT + S> or going to Firefox-> Web Developer-> Selenium IDE.

Recording events

  • Click record button
  • Go to WC, do the actions needed, typing data/ adding records/ delete
  • When done go to selenium and hit "Stop recording" button
  • A sequence is created which can be saved using <CTRL+S>.

Playback - Running the script

  • If a suite of case is already recorded then can be played from "Play entire test suite" button
  • For testing case by case of case suite already recorded then can be played from "Play current test case" button
  • TIP: for easier following of the test run, add a default delay: go to "Fast-delay" slide bar and adjust the speed of running cases.

Tip: for more detailed documentation and video tutorials user this link: http://jroller.com/selenium/