Em algumas situações durante a reprodução, é possível que o Teste Funcional não consiga diferenciar entre dois objetos semelhantes no software em teste. Por exemplo, em aplicativos HTML quando mais de uma instância de navegador está ativa, reconhecer entre um e outro navegador nas ações da barra de ferramentas seria impossível se tivessem sido gravados como nestes exemplos:
BrowserToolbar_Back().Click() BrowserToolbar_Forward().Click()
Em casos desse tipo, o Teste Funcional evita o reconhecimento ambíguo localizando o botão da barra de ferramentas no navegador que está identificado por seu documento carregado no momento (referido como uma âncora para o objeto de destino. Por exemplo:
BrowserToolbar_Back(Browser_htmlBrowser(Document_MyHomePage(), _ DEFAULT), DEFAULT).Click()
O botão voltar da barra de ferramentas está ancorado pelo navegador, que está ancorado pelo documento "My HomePage". Esse exemplo não funcionará, naturalmente, se cada instância do navegador tiver o mesmo documento carregado. Observe que os métodos de script auxiliares que utilizam uma âncora como argumento também requerem outro argumento que especifique o estado do componente (o argumento DEFAULT no exemplo anterior). O estado padrão para objetos HTML é READY. Para componentes HTML, também são possíveis LOADING e UNINITIALIZED. O estado padrão para objetos Java é SHOWING e ENABLED. Outros sinalizadores de estado suportados são NOT_SHOWING e DISABLED.
Além disso, você pode identificar a instância do navegador utilizando uma referência TestObject
para ela, chamando o método Localizar
no navegador,
como a seguir:
TestObject BrowserOne = Browser_htmlBrowser(Document_MyHomePage(), DEFAULT).Find()
Nota: Lembre-se de cancelar o registro
de TestObject
quando terminar.
Os comandos da barra de ferramentas do navegador no script de teste seriam semelhantes a este exemplo:
BrowserToolbar_Back(MyBrowser, DEFAULT).Click()
Outra situação em que o reconhecimento ambíguo pode ser problema é quando
um teste tem mais de um aplicativo em execução ao mesmo tempo. Durante
a reprodução, comandos como b5().Click()
são ambíguos. Como
o comando StartApp
retorna um ProcessTestObject, essa referência
pode ser utilizada para especificar a qual aplicativo um determinado comando
se aplica. Por exemplo:
ProcessTestObject P1 = StartApp("SwingTest") ProcessTestObject P2 = StartApp("TryIt") ... B5().Click() REM (ambiguous on playback; which application?) B5(P1, DEFAULT).Click()
Na última linha do exemplo, o ProcessTestObject
funciona como âncora para localizar o aplicativo desejado. Observe que chamar
o método Cancelar registro
para um ProcessTestObject
não é necessário.
Termos de uso | Feedback
(C) Copyright IBM Corporation 2002, 2004. Todos os Direitos Reservados.