Recherche d'objets dans une arborescence Dojo

Vous pouvez adapter l'API find() dynamique et utiliser la méthode dojoTreeExpand() pour rechercher tous les objets dans un contrôle d'arborescence Dojo dans l'application en test.
Cet exemple montre comment utiliser la méthode dojoTreeExpand() pour rechercher tous les objets dans une arborescence Dojo. Vous pouvez adapter le code pour changer le navigateur si nécessaire.
	public void testMain(Object[] args) {
		// A FAIRE - Insérer le code ici
		dojoTreeExpand();
	}

	public void dojoTreeExpand() {

		//Prend dynamiquement l'application en test à l'aide de la méthode startBrowser et le navigateur Mozilla Firefox (en supposant que Firefox est correctement activé)
		//Conseil : Vous changez le navigateur pour Internet Explorer dans la méthode 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));

		// Attente du chargement complet du navigateur.
		process.waitForExistence();

		// L'objet RootTestObject représente une vue globale de l'application
		// à tester. Il ne représente
		// pas un objet TestObject réel dans le logiciel testé. Il
		// fournit des moyens de rechercher un objet
		// TestObject arbitraire sur la base de propriétés.
		RootTestObject to = RootTestObject.getRootTestObject();

		// Définir le tableau d'objets de test TestObject
		TestObject[] dojoControls = null;
		for (int i = 0; i <= 10; i++) {

			// Réalisation d'une opération de recherche et sauvegarde de l'objet retourné dans le tableau
			// TestObject.
			dojoControls = to.find(RationalTestScript.atDescendant(".class",
					"Html.A", ".className", "show"));
			if (dojoControls.length >= 1) {
				break;
			}
			RationalTestScript.sleep(3);
		}
		// Affectation du premier objet de test trouvé à l'objet GUITestObject et
		// réalisation d'un clic
		((GuiTestObject) dojoControls[0]).click();

		// Attente d'un temps suffisant pour charger complètement la page.
		sleep(30);

		// Définition du tableau d'objets de test TestObject pour une structure d'arborescence Dojo
		TestObject[] trees = null;
		for (int i = 0; i <= 10; i++) {
			// Réalisation d'une opération de recherche et sauvegarde de l'objet retourné dans le tableau
			// TestObject.
			trees = to.find(RationalTestScript.atDescendant(".dojoclass",
					"tree", ".id", "treeOne"));
			if (trees.length == 1) {
				break;
			}
			RationalTestScript.sleep(3);
		}
		//
		DojoTreeTestObject dijitTree = new DojoTreeTestObject(trees[0]);

		// Réparti si une arborescence contient "Continents" lors de l'expansion du noeud
		dijitTree.expand(atList(atText("Continents"), atText("North America"),
				atText("Mexico")));
		// Réparti si une arborescence contient "Continents" lors de l'expansion du noeud
		dijitTree.click(atList(atText("Continents"), atText("North America"),
				atText("Mexico"), atText("Guadalajara")));
		sleep(10);
	}
}

Retour d'informations