Um mapa de objetos contém cada objeto que foi trabalhado durante a gravação, bem como as propriedades de reconhecimento do objeto. Para cada propriedade, o mapa também contém um peso que indica o quanto o Rational Functional Tester confia nessa propriedade para reconhecimento.
O mapa de objetos pode ser preenchido automaticamente, quando um script é registrado, ou manualmente, incluindo objetos no mapa.
O mapa de objetos auxilia na manutenção eficiente de script. Quando objetos no aplicativo sob teste são modificados, o mapa de objetos é uma fonte isolada que pode ser atualizada. Atualizando o mapa, todos os scripts que fazem referência ao objeto modificado usam as informações do objeto atualizado.
O Rational Functional Tester diferencia objetos com base nas propriedades de reconhecimento e na hierarquia. Por exemplo, se um botão existir em uma janela de nível superior diferente, ele aparecerá como um botão diferente no mapa. Se dois ou mais objetos diferentes possuírem o mesmo nome, para tornar o nome exclusivo, o Rational Functional Tester incluirá sufixos de número ao nome do objeto que é segundo, terceiro e assim por diante.
Se houver duas instâncias idênticas de quaisquer objetos, como duas instâncias de um navegador, o Rational Functional Tester fornecerá um método para manipular a identificação.
Um mapa de objetos privado é usado por um único script. Um mapa de objetos público (compartilhado) é usado por diversos scripts. A configuração padrão é para que cada script use um mapa de objeto privado. Isto é apropriado para usuários únicos que estejam começando a aprender sobre a ferramenta. Entretanto, uma equipe de testadores que trabalham em um aplicativo comum deve usar um mapa de objetos compartilhados para que possam tirar vantagem dos objetos que estão sendo definidos globalmente em um único mapa.
Os pesos indicam o quão importante uma propriedade específica é para a identificação de um objeto durante a execução do script. As configurações possíveis são de 0 (não importante) a 100 (muito importante). É possível alterar os pesos da maioria das propriedades. A propriedade .class é fixa e não pode ser alterada.
Se o peso for configurado como 0, o valor dessa propriedade será ignorado ao tentar identificar um objeto.
Use a Ferramenta de Configuração de Propriedade de Objetos para designar os novos pesos padrão a propriedades e também definir novas propriedades a serem usadas ao identificar objetos em futuras gravações.
É possível usar o utilitário Localizar e Modificar do Mapa de Objetos para localizar todos os objetos que correspondem a critérios como nome da propriedade, valor da propriedade ou vários filtros customizados. As ações que podem ser executadas nos objetos correspondentes incluem Incluir Propriedade, Remover Propriedade, Alterar Valor e Alterar Peso. As modificações podem ser aplicadas em objetos uma de cada vez ou globalmente.
Sim. Para mesclar os scripts, crie um novo mapa público clicando em . Se uma página do assistente for aberta, feche-a. Clique com o botão direito do mouse no mapa criado e selecione Mesclar Objetos em. Na caixa de diálogo que é exibida, selecione os scripts a serem mesclados. Certifique-se de que selecionou a caixa de seleção Conectar scripts de Functional Tester selecionados para anexar os scripts selecionados no novo mapa de objetos mesclado.
Para obter informações sobre mesclagem de diversos mapas, consulte Mesclando Vários Mapas de Objetos de Teste.
Se as propriedades de nó-pai forem alteradas devido a inserções ou exclusões, ou um novo nó for incluído na hierarquia, será possível atualizar o mapa. Para atualizar o mapa, use o editor de mapas para inserir referências a objetos que possuam um pai recém-inserido. Então, você terá referências duplicadas para os objetos-filhos do novo objeto. Para cada uma dessas referências, arraste o objeto antigo para o novo de modo que o editor de mapas unifique os objetos. É possível usar as mesmas etapas para excluir um objeto da hierarquia de mapas.
Sim. Abra o objeto no mapa de objetos e, em seguida, selecione . Use o localizador de objetos para apontar para o objeto. Quando a caixa de diálogo Atualizar Propriedades de Reconhecimento com as três áreas de janela aparecer, clique com o botão direito do mouse em uma propriedade na área de janela Todas as Propriedades Ativas e selecione Incluir em Propriedades de Objetos de Teste Unificados.
Conforme um mapa de objetos aumenta, o tempo necessário para abrir e carregar o mapa aumenta.
Quando um script é executado, o mapa de objetos é carregado na primeira vez em que ele é necessário durante a execução. Se você tiver um conjunto de etapas de teste que usa scripts de teste funcional, o mapa será carregado conforme cada script for executado, porque cada script é um processo separado. Um aplicativo típico teria aproximadamente de 2.000 a 3.000 objetos (alguns mapas podem ser maiores ou menores).
As métricas mostradas na Tabela 1 foram calculadas no tempo de execução do script, mas também podem se aplicar quando o mapa é carregado. Elas mostram que um aumento significativo no tempo de carregamento do mapa não ocorre até que um mapa de tamanho muito além do normal seja encontrado. O tempo de reprodução é aumentado somente no início da execução do script, quando o mapa é carregado, e não reduz a velocidade da execução do script após o mapa ser carregado. Além disso, scripts aninhados (usando a função callScript) que compartilham o mesmo mapa de objetos também compartilham a mesma instância de mapa durante a execução do script. Portanto, scripts aninhados não aumentam o tempo de carregamento.
| Objetos no Mapa | Segundos para a execução do script total |
|---|---|
| 10 | X segundos |
| 600 - 2.000 | X + 2 segundos |
| 2.000 - 11.000 | X + 3 segundos |
| mais de 11.000 | X + 10 segundos |