Dashboard > Selenium > ... > Contributed User-Extensions > qooxdooExtension
Selenium Log In View a printable version of the current page.
qooxdooExtension
Added by Robert Zimmermann, last edited by Thomas on Apr 03, 2008  (view change) show comment
Labels: 
(None)

description

Selenium extension for testing applications build with qooxdoo. qooxdoo is an open-source JavaScript framework to build desktop-like Web GUIs.

CAVEAT: The code provided here is only retained for historical reasons. Please don't use or least update it. A much more recent version of the code for this extension can be found via its homepage at http://qooxdoo.org/documentation/contrib/simulator.
Here is also a quick link to its SVN repository location.

This extension covers:

  • qooxdoo-specific click commands, such as "qxClick" and "qxClickAt"
  • qooxdoo-specific element-locators, such as "qx=" and "qxp="

The rest of this web page is just to give you a quick glance on the extension. For full and up-to-date information please visit the project homepage.

examples of use

Use of the click commands is straight-forward and in line with the standard click commands of Selenium.

qxClick and qxClickAt:

  • Both commands fire "mousedown" followed by "mouseup", as qooxdoo mostly does not listen for "click".
  • Additionally these commands provide the possibility to customize mouse-events, to do eg. a right-click or click-with-shift-key-pressed, see below for details.
qxClick <any locator> button=right, shiftKey=true

The special qooxdoo locators take advantage of the specific structure with that a qooxdoo application is rendered. As qooxdoo HTML consists mainly of div-elements, it is often difficult to locate an distinct element with xpath.
If you have access to the source of the AUT build with qooxdoo you can supply UserData for the elements to interact with and use "qx=" to refer to the UserData. Additional, combined Locator like qxp=myDialog/buttonOK//XPATH-descendant are possible that mix a "qx" specifier with an XPath expression.

In your qooxdoo source provide an "UserData" string, like this:

  • customButton = new qx.ui.menu.MenuButton("Click Me", ...);
  • customButton.setUserData("customButton", "place here anything you want, e.g. selenium");
    Now this qooxdoo button can be located (and clicked) like this:
qxClick qx=customButton  

The qooxdoo locator can be used with any selenium command, like

mouseOver qx=customButton  

The locator can also be used hierarchically. This is comfortable, if qooxdoo elements are reused in different locations.

license

This user extension is available as part of the Simulator project, which is released under a dual LGPL/EPL license.

download (only if you must!)

qooxdoo extension v0_3

Hi,

I have added a few more extensions to the qooxdoo extension to make it much more usable. Also I have added a custom attribute to the widget called "identifier" to identify it using the locator.

Here is the more complete extension with qx.js build with identifier attribute.
qooxdoo-extension-extended.zip

Site running on a free Atlassian Confluence Community License granted to OpenQA. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.6 Build:#812 Aug 06, 2007) - Bug/feature request - Contact Administrators