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:
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