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:
AtProperty
-- Um par de nome/valor que representa uma propriedade TestObject
AtChild
-- Uma ou mais propriedades que devem ser correspondidas no filho direto
do TestObject
inicial
AtDescendant
-- Uma ou mais propriedades que devem ser correspondidas em qualquer filho do
TestObject
inicial
AtList
-- Uma lista seqüencial de propriedades nas quais corresponder. Os subitens válidos para
AtList
são:
AtChild
AtDescendant
AtProperty
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:
.processName
-- Uma propriedade de nível superior que possui duas funções:
Ativar dinamicamente os processos com esse
processName
Limitar a localização apenas a processos com esse nome
.processId
-- Uma
propriedade de nível superior que possui duas funções:
Ativar dinamicamente os processos com esse pid (id do processo)
Limitar a localização apenas a processos com esse pid (id do processo)
.domain
-- Um sinalizador que especifica a procura apenas em domínios de nível superior que correspondam à propriedade
de domínio
.hWnd
-- Junto com a propriedade hWnd
sendo utilizada para a procura, se o .domain
"Win" também estiver especificado, a janela de correspondência será ativada
para teste com o domínio do Windows.
Handle
-- Junto com a propriedade handle da janela sendo utilizada para a procura, se
o .domain
"Net" também estiver especificado, a janela de correspondência
será ativada para teste com o domínio .NET.
Exemplos:
Dim FoundTOs As TestObject() Dim Root As RootTestObject Root = RootTestObject.GetRootTestObject()
' Localizar todas as janelas de nível superior no domínio do Windows com ' a legenda "Meu Documento" Dim Caption As CaptionText Caption = New CaptionText("Meu Documento") FoundTOs = Root.Find(AtChild(".Domain", "Win", _ ".caption", Caption)) ' Localizar diálogos e, em seguida, retornar ' os botões "OK" de seus filhos. Dim DialogRE As RegularExpression = New _ RegularExpression("*dialog", false) Dim ButtonRE As RegularExpression = New _ RegularExpression("*button", false) FoundTOs = Root.Find(AtList( _ AtDescendant(".class", DialogRE), _ AtChild(".class", ButtonRE, _ ".value", "OK")) ' Iniciar o Notepad, ativar dinamicamente esse processo, ' localizar sua janela de nível superior que corresponde ao id do processo ' e obter sua janela de texto descendente. Dim P1 As ProcessTestObject = StartApp("Notepad") Dim Pid As Integer = 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 que representa a janela. Dim HWnd As Long = 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 que representa a janela. Dim Handle As Long = GetAppsHwnd() FoundTOs = Root.Find(AtChild("Handle", Handle, ".domain", "Net"))
Termos de uso | Feedback
(C) Copyright IBM Corporation 2002, 2004. Todos os Direitos Reservados.