Procurando TestObjects

O Teste Funcional suporta um meio para localizar um ou mais TestObjects que correspondam a critérios de procura especificados. A procura baseia-se em pares de nomes/valores que representam propriedades do TestObject ou TestObjects que estão sendo procurados. A procura pode ser global ou estar limitada a filhos de um TestObject pai.

O Teste Funcional suporta um RootTestObject para representar uma visualização global do software em teste. Para executar uma procura global, chame o método de localização no RootTestObject. Chamar um método de localização TestObject procurará apenas os filhos desse TestObject.

O primeiro argumento no método de localização é um subitem para as propriedades de procura. O segundo argumento opcional é um sinalizador que indica se apenas os filhos que podem ser incluídos no mapa de objetos de teste devem ser procurados. Os valores válidos para os subitens da propriedade são:

O primeiro item da lista é correspondido para obter uma lista de candidatos e, desses candidatos, seus descendentes são correspondidos para o próximo item da lista, etc.

Há propriedades especiais que se aplicam a RootTestObject.find, incluindo:

Exemplos:

     TestObject[] foundTOs ;
     RootTestObject root = RootTestObject.getRootTestObject() ;
     // Localizar todas as janelas de nível superior no domínio do Windows com a legenda "My
     // Document"
     CaptionText caption = new CaptionText("My Document") ;
     foundTOs = root.find(atChild(".domain", "Win", ".caption",
       caption)) ;
     
     // Localizar os diálogos e, em seguida, retornar
     // os botões "OK" de seus filhos.
      RegularExpression dialogRE = new
        RegularExpression("*dialog", false) ;
      RegularExpression buttonRE = new
        RegularExpression("*button", false) ;
      foundTOs = root.find(atList(atDescendant(".class",
                          dialogRE),
                          atChild(".class", buttonRE, ".value",
                           "OK"))) ;
     
     // Iniciar o Bloco de Notas, ativar dinamicamente esse processo,
     // localizar sua janela de nível superior que corresponde ao id de processo
     // e obter sua janela de texto descendente.
      ProcessTestObject p1 = StartApp("Notepad") ;
      Integer pid = new Integer((int)p1.getProcessId()) ;
      foundTOs = root.find(atList(atProperty(".processId",
        pid, atDescendant(".class", ".text"))) ;


     // Isso ativa um aplicativo Windows com a propriedade handle da janela fornecida e retorna um       // TestObject representando a janela.      Long hWnd = getAppsHwnd();      foundTOs = root.find(atChild(".hwnd", hWnd, ".domain", "Win"));
      // Isso ativa um aplicativo .NET com a propriedade handle da janela fornecida e retorna um      // TestObject representando a janela.      Long handle = getAppsHwnd();      foundTOs = root.find(atChild("Handle", handle, ".domain", "Net"));

Termos de uso | Feedback
(C) Copyright IBM Corporation 2002, 2004. Todos os Direitos Reservados.