Descobrindo objetos em uma árvore Dojo

É possível adaptar a API dinâmica find() API e usar o método dojoTreeExpand() para localizar todos os objetos dentro de um controle de árvore Dojo no aplicativo em teste.
Este exemplo mostra como usar o DojoTreeTestObject() para localizar todos os objetos em uma árvore Dojo. É possível adaptar o código para alterar o navegador se necessário.
	public void testMain(Object[] args) {
		// TODO Inserir código aqui
		dojoTreeExpand();
	}

	public void dojoTreeExpand() {

		//Trazer o aplicativo em teste dinamicamente usando o método startBrowser e o navegador como Mozilla Firefox (assumindo que o FireFox esteja   //habilitado corretamente)
		//Dica: Altere o navegador para o Internet Explorer no método startBrowser.
		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));

		// Espere o navegador carregar completamente.
		process.waitForExistence();

		// O RootTestObject representa uma visualização global do Aplicativo sob teste.
		// Ele não representa
		// um TestObject real no software sob teste. ele
		// fornece maneiras de se localizar um
		// TestObject arbitrário baseado nas propriedades
		RootTestObject to = RootTestObject.getRootTestObject();

		// Defina a matriz do Objeto de Teste
		TestObject[] dojoControls = null;
		for (int i = 0; i <= 10; i++) {

			// Realiza uma operação de localização e salva o objeto retornado na matriz
			// TestObject.
			dojoControls = to.find(RationalTestScript.atDescendant(".class",
					"Html.A", ".className", "show"));
			if (dojoControls.length >= 1) {
				break;
			}
			RationalTestScript.sleep(3);
		}
		// Designa o primeiro Objeto de Teste achado para o GUITestObject, e
		// executa um click
		((GuiTestObject) dojoControls[0]).click();

		//Espera o suficiente para carregar a página completamente.
		sleep(30);

		// Define a matriz Test Object, para uma estrutura de Árvore Dojo
		TestObject[] trees = null;
		for (int i = 0; i <= 10; i++) {
			// Executando uma operação de localização e salvando o objeto retornado na matriz
			// TestObject.
			trees = to.find(RationalTestScript.atDescendant(".dojoclass",
					"tree", ".id", "treeOne"));
			if (trees.length == 1) {
				break;
			}
			RationalTestScript.sleep(3);
		}
		//
		DojoTreeTestObject dijitTree = new DojoTreeTestObject(trees[0]);

		// Enviado quando uma árvore que possua 'Continents' como nó for expandida
		dijitTree.expand(atList(atText("Continents"), atText("North America"),
				atText("Mexico")));
		// Enviado quando uma árvore que possua 'Continents' como nó for expandida
		dijitTree.click(atList(atText("Continents"), atText("North America"),
				atText("Mexico"), atText("Guadalajara")));
		sleep(10);
	}
}

Feedback