Além dos pontos de verificação especificados durante a gravação, também é possível incorporar novos pontos de verificação em um script do Teste Funcional. Os pontos de verificação manuais e dinâmicos do script permitem a especificação de dados para comparação em um objeto que não foi localizado no mapa de objetos de teste. Os dados, no entanto, devem basear-se na classe de valores.
Para ambos os métodos vpManual
e vpDynamic
,
você pode consultar a entrada para IFtVerificationPoint
na Referência à API do Teste Funcional
para obter informações sobre restrições nos nomes dos pontos de verificação e formatos
de dados.
São úteis quando você cria os dados para o próprio ponto de verificação e deseja comparar os dados. Por exemplo, os dados poderiam ser o resultado de um cálculo ou poderiam vir de uma origem externa, como um banco de dados, por exemplo.
Os objetos de ponto de verificação manual são construídos utilizando o método vpManual
. Ao
chamar esse método, você fornece os dados antes da execução de
performTest
. (O método performTest
salva os dados fornecidos,
os compara quando há uma baseline e grava o resultado no log.)
O método vpManual
possui duas assinaturas:
IFtVerificationPoint vpManual
(java.lang.String vpName, java.lang.Object
actual)
IFtVerificationPoint vpManual (java.lang.String
vpName, java.lang.Object
expected, java.lang.Object actual)
A primeira forma de vpManual
assume o nome do ponto de
verificação e os dados reais que são comparados a uma baseline existente
ou utilizados para criar uma baseline, se ainda não existir uma. Observe que
esse valor pode ser nulo
. O vpName
deve ser exclusivo com relação ao script. Por exemplo:
vpManual
("manual1", "The rain in Spain").performTest();
A segunda forma desse método inclui um parâmetro para os dados esperados a serem comparados com os reais. Os dados esperados ou reais podem ter valor nulo. Por exemplo:
vpManual
("manual1", "The rain in Spain", "The Rain
in Spain").performTest();
Nesse exemplo, os dados não correspondem. O método performTest
gravaria uma mensagem de falha de ponto de verificação no log.
São úteis principalmente quando o TestObject
não foi mapeado e não é algo que o Teste Funcional testaria normalmente,
por exemplo, um objeto que não faz parte do aplicativo em teste.
O método vpDynamic
constrói pontos de verificação dinâmicos.
Esses pontos criarão a interface apropriada com o usuário na próxima
vez em que o script for reproduzido. O usuário consegue inserir os dados do ponto
de verificação testados em um objeto especificado pelo script. Dessa maneira,
o usuário pode evitar ter que executar o teste manualmente no estado
apropriado antes de gravar o ponto de verificação. O método vpDynamic
possui duas assinaturas:
IFtVerificationPoint vpDynamic
(java.lang.String vpName)
IFtVerificationPoint vpDynamic (java.lang.String vpName, TestObject
objectUnderTest)
A primeira forma do método vpDynamic
requer um nome de ponto
de verificação (relativo ao script) exclusivo. O assistente de Ponto de Verificação
e Ação de Gravação será criado na próxima vez em que o script for reproduzido.
O usuário especifica o TestObject
e os dados de baseline de
execuções subseqüentes nas quais testar. O script deve ser executado no modo
interativo. Por exemplo:
vpDynamic
("dynamic1").performTest();
A outra forma do método vpDynamic
requer especificação
do TestObject
. Por exemplo:
vpDynamic
("dynamic1", AnAWTButtonButton()).performTest();
Uma UI modificada, que não exibe a hierarquia TestObject
,
aparece na primeira reprodução para especificar valores de dados para a baseline.
Enquanto o TestObject
especificado não precisa ser do
mapa de objetos de teste, ele deve ser consistentemente o mesmo objeto para que os resultados
sejam significativos.
Um erro comum ao utilizar esses métodos é omitir o método performTest
. Isso
é válido e a compilação é feita sem aviso, mas nenhuma ação interessante
ocorre quando o script é executado. Por exemplo:
vpDynamic("test1",
AnAWTButtonButton()); //ERROR. Nada acontece.
Termos de uso | Feedback
(C) Copyright IBM Corporation 2002, 2004. Todos os Direitos Reservados.