Puede adaptar la API dynamic find() y utilizar el método dojoTreeExpand() para encontrar todos los objetos en un control de árbol Dojo de la aplicación bajo prueba.
En este ejemplo se muestra cómo utilizar DojoTreeTestObject()
para encontrar todos los objetos en un árbol Dojo. Puede adaptar el código para cambiar el navegador, si es necesario.
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);
}
}