Para ambos os métodos vpManual e vpDynamic, você pode consultar a entrada para IFtVerificationPoint na Referência à API do Functional Tester 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 Functional Tester 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.