Finding objects in a Dojo tree
You can use the dynamic find() API and the dojoTreeExpand() method to find all objects within a Dojo tree control within the application under test.
This example shows you how to use DojoTreeTestObject()
to find all objects within a Dojo tree. You can adapt the code to
change the browser if required.
public void testMain(Object[] args) {
// TODO Insert code here
dojoTreeExpand();
}
public void dojoTreeExpand() {
//Bring the application under test dynamically using startBrowser method and browser as Mozilla Firefox (assuming Firefox is enabled correctly)
//Tips: You change the browser to Internet Explorer in the startBrowser method.
ProcessTestObject process = RationalTestScript.startBrowser(
"Mozilla Firefox", "http://docs.dojocampus.org/dijit/Tree" (http://docs.dojocampus.org/dijit/Tree));
// ProcessTestObject process =
// RationalTestScript.startBrowser("Internet Explorer",
// "http://docs.dojocampus.org/dijit/Tree" (http://docs.dojocampus.org/dijit/Tree));
// Wait for the browser to load completely.
process.waitForExistence();
// The RootTestObject represents a global view of the Application being
// tested. It does not
// represent an actual TestObject in the software under test. it
// provides ways to finding an arbitrary
// TestObject based on properties
RootTestObject to = RootTestObject.getRootTestObject();
// Define Test Object array
TestObject[] dojoControls = null;
for (int i = 0; i <= 10; i++) {
// Performing a find operation and saving the returned object in the TestObject
// array.
dojoControls = to.find(RationalTestScript.atDescendant(".class",
"Html.A", ".className", "show"));
if (dojoControls.length>= 1) {
break;
}
RationalTestScript.sleep(3);
}
// Assigning the first found Test Object to the GUITestObject, and
// perform a click
((GuiTestObject) dojoControls[0]).click();
//Wait enough to load the page completly.
sleep(30);
// Define Test Object array, for a Dojo Tree structure
TestObject[] trees = null;
for (int i = 0; i <= 10; i++) {
// Doing a find operation and saving the returned object in the TestObject
// array.
trees = to.find(RationalTestScript.atDescendant(".dojoclass",
"tree", ".id", "treeOne"));
if (trees.length == 1) {
break;
}
RationalTestScript.sleep(3);
}
//
DojoTreeTestObject dijitTree = new DojoTreeTestObject(trees[0]);
// Dispatched when a tree has 'Continents' as node is expanded
dijitTree.expand(atList(atText("Continents"), atText("North America"),
atText("Mexico")));
// Dispatched when a tree has 'Continents' as node is expanded
dijitTree.click(atList(atText("Continents"), atText("North America"),
atText("Mexico"), atText("Guadalajara")));
sleep(10);
}
}