Exemplos que Podem Ser Utilizados

Esta amostra de proxy explica como estender o comportamento de gravação de um controle com SubItems e suportar a reprodução correspondente.

Capacidades Estendidas: Controles de Gravação com SubItems

Esta amostra de proxy estende a API de proxy processSingleMouseEvent() para modificar o comportamento de gravação de um controle de rotação. Embora um controle de rotação tenha dois botões e um controle de texto como filhos, de uma perspectiva de teste, ele deve ser tratado como um único controle sem filhos aparecendo no TestObject Map. (No TestObjectMap, os botões e o texto são tratados como SubItems.) A implementação processSingleMouseEvent() configura métodos com SubItems adequados, por exemplo, atButton("UP") ou atButton("DOWN") como parâmetros para gravação. Observe também que, embora haja objetos-filhos para o controle de rotação, é necessário certificar-se de que eles não estejam listados como TestObjects separados. Portanto, as APIs getChildAtPoint() e getChildren() são estendidas para retornar valores nulos. Esses objetos-filhos são tratados como SubItems.

Suporte à Reprodução

Para suportar a reprodução de cada SubItem introduzido durante a gravação, o Functional Tester procurará o retângulo de tela de cada SubItem por meio do proxy. O retângulo de SubItem pode ser fornecido estendendo-se a API de proxy java.awt.Rectangle getScreenRectangle(Subitem subitem).

Implementar os Binários

Copie os arquivos JSpinnerProxy.jar e JSpinnerProxy.rftcust para o diretório de customização e reinicie o Functional Tester para testar a amostra AUT (Application-Under-Test).

Verificar o Comportamento de Gravação

Você pode verificar o comportamento de gravação do controle de rotação:

  • Antes de implementar os proxies, ao gravar os resultados dos botões para cima e para baixo do JSpinner, os cliques são gravados como button.click(), em que cada controle para cima e para baixo é tratado como um controle separado.
  • Depois de implementar os proxies, o clique no botão para cima é gravado como spinner().click(atButton("UP")). Observe que os botões são tratados e gravados como SubItems e não como TestObjects separados.

Verificar o Comportamento de Reprodução

  • Antes de implementar os proxies, reproduzir ações do usuário com SubItems, por exemplo, spinner().click(atButton("UP")) emitirá uma exceção Ponto não localizado.
  • Depois de implementar os proxies, reproduzir ações do usuário com SubItems funcionará adequadamente.
Tópico pai: JSpinnerProxy

Feedback