Búsqueda de objetos en un árbol Dojo

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);
	}
}

Comentarios