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