< Anterior | Próximo >

Exercício 8: Atualizar o Mapa de Objetos

Neste exercício, você corrigirá o aviso de reconhecimento do objeto, utilizando o mapa de objetos. Você também utilizará uma expressão comum para obter um reconhecimento mais flexível do objeto.
Ao ver um defeito ou aviso de reconhecimento, observe a mensagem de log. No final do exercício 7, você manteve o log aberto. Se não estiver aberto, abra-o clicando duas vezes no log na visualização Projetos. Um aviso permanece no log. O título do evento é O Reconhecimento do Objeto está fraco (acima do limite de aviso).
  1. Observe os campos ObjectLookedFor e objectFound na seção de aviso próxima da parte inferior do log.

    Em ClassicsA, o nome do campo de senha é Lembrar Senha. Em ClassicsB, é Lembrar a Senha. Ao reproduzir o script no ClassicsB, o reconhecimento do objeto não correspondeu exatamente por causa desta diferença.

  2. Observe o campo Número da Linha no log. Anote o número e feche o log para retornar ao Functional Tester.
  3. Clique em qualquer lugar na janela do script e, em seguida, clique em Navegar > Ir para a Linha.
  4. Digite o número da linha da mensagem de defeito do log e clique em OK.

    O cursor move para a margem esquerda desse número de linha.

    Nota: Também é possível localizar o número da linha observando o indicador na parte inferior da janela do Functional Tester. Por exemplo: "43:9" refere-se à posição 9 na linha 43.
    A linha no seu script deve ser:
    RememberPassword().clickToState(SELECTED); 
    Esta linha representa seu clique na caixa de opções da senha. Esta linha no script mostra qual objeto está falhando. Agora, você pode procurar esse objeto no mapa de objeto.
  5. Para localizar o objeto, retorne para a lista de Objetos de Teste no Explorer de Script (área de janela direita). Você verá rememberPassword listado na pasta Objetos de Teste.

Visualizar as Propriedades do Reconhecimento de Objeto no Mapa de Objetos

  1. Dê um clique duplo no objeto rememberPassword para abri-lo no mapa de objetos.
  2. Clique em Objeto de Teste > Aceitar Tudo no menu do mapa de objeto. Se o comando estiver esmaecido, não faça nada.

    Observe que todos os objetos são alterados para texto em preto. O texto é azul (para indicar novos objetos) até você aceitar os objetos em um mapa. Você deve aceitar os objetos na primeira vez que observar um mapa de objeto recém criado.

  3. Se o objeto da caixa de opções da senha não estiver selecionado no mapa, selecione-o. (É o objeto chamado Java: checkBox: checkRemember: javax.swing.JCheckBox.)
  4. Observe as propriedades de reconhecimento listadas na guia Reconhecimento na parte inferior do mapa do objeto.

    É possível verificar que esse é o objeto de ClassicsA, porque ele informa Lembrar Senha na propriedade texto. Este é o objeto "antigo". No entanto, ao reproduzir o script em ClassicsB, o texto para esse objeto foi alterado, então o Functional Tester o reconhece como um "novo" objeto. Você deseja utilizar as propriedades do objeto novo neste caso, então você deve inclui-lo no mapa.

Incluir o Novo Objeto no Mapa

Para incluir o novo objeto no mapa, abra o ClassicsB e, em seguida, a janela Logon de Membro.
  1. Clique em Aplicativos > Executar no menu do mapa de objetos.
  2. Selecione ClassicsJavaB. (Certifique-se de escolher B).
  3. Clique em OK.
  4. No ClassicsCD, selecione um CD e clique em Fazer o Pedido.

    A janela Logon de Membro é aberta.

  5. Mova o mapa do objeto para baixo na sua tela, se necessário, para vê-lo completamente. No menu do mapa de objeto, clique em Objeto de Teste > Inserir Objeto(s).

    Esta é a mesma ferramenta do Localizador de Objeto na página Selecionar um Objeto do Assistente do Ponto de Verificação.

  6. Desmarque a caixa de opções Depois de selecionar um objeto, vá para a página seguinte se estiver selecionada.
  7. Utilize a ferramenta Localizador de Objeto para selecionar a caixa de opções Lembrar a Senha na janela Logon de Membro.

    Depois de selecionar a caixa de opções, verá que a propriedade texto agora é Lembrar a Senha. Expanda as molduras do mapa do objeto, se necessário, consulte as propriedades.

  8. Na página Selecionar um Objeto, clique em Avançar.
  9. Não altere nada na página Selecionar Opções de Objeto e clique em Concluir.

    O novo objeto da caixa de opções agora é mostrado no mapa de objeto.

  10. Clique em outro objeto e observe que o novo item estará listado em azul e a palavra "Novo" será exibida no começo da linha.

    Agora os objetos antigos e novos são listados no mapa. Você deseja unificar os dois objetos e pegar as propriedades de cada um que você deseja para o novo objeto.

Unificar os Objetos

  1. Para unificar os objetos, clique no objeto antigo (a caixa de opções original denominada CheckBox: checkRemember) e arraste-o para o novo objeto na lista. Posicione a ponta da seta do cursor sobre o novo objeto antes de liberar o botão do mouse. Em seguida, libere o botão do mouse.

    O assistente Unificar Objetos de Teste é aberto.

  2. Aumente o assistente Unificar, se necessário, para consultar informações adicionais nas seções inferiores.

    Na seção inferior esquerda, as propriedades do objeto original são mostradas. Deveria ser etiquetada "Origem: RememberPassword." Esse é o texto que estava na caixa de opções em ClassicsA. Na seção inferior direita, deveria ser etiquetado "Destino: RememberThePassword." Esse é o texto que está na caixa de opções em ClassicsB.

    As propriedades de reconhecimento do novo objeto são preenchidas no topo do assistente porque você arrastou o objeto antigo para o novo objeto. Geralmente, o Functional Tester coloca as novas propriedades no topo, se forem as propriedades preferidas. No entanto, algumas propriedades administrativas antigas podem ser as preferidas. Por exemplo, o Functional Tester retém expressões regulares no antigo conjunto de propriedade. Para utilizar uma propriedade a partir do objeto antigo, dê um clique duplo nessa propriedade na grade do objeto antigo e será copiado para o objeto unificado. Nesse caso, desejamos utilizar todas as propriedades do novo objeto, que já estão preenchidas.

  3. Clique em Avançar.

    Todos os scripts que são afetados por esta alteração do mapa do objeto são listados. Somente um script, Classics, é afetado.

  4. Clique em Concluir.
  5. No mapa de objetos, clique no menu Arquivo > Salvar na barra de ferramentas do mapa de objetos para salvar as alterações feitas e, em seguida, feche o mapa de objetos.

Reproduzir Novamente o Script

Agora reproduziremos o script novamente no ClassicsB para confirmar que é transmitido.
  1. Feche as caixas de diálogo do ClassicsCD.
  2. No Functional Tester, clique em Executar Script de Teste Funcional na barra de ferramentas.
  3. Selecione o log Classics e clique em Concluir.

    Agora, o script é transmitido sem avisos! Observe que a reprodução não pausa mais no objeto da caixa de opções de senha porque as propriedades de reconhecimento agora são correspondentes.

    Este recurso de unificação do objeto é uma maneira fácil de atualizar scripts quando as propriedades de reconhecimento de um objeto são alteradas intencionalmente. Uma das maiores vantagens deste recurso é que se o seu mapa do objeto estiver sendo utilizado por muitos scripts, você poderia atualizá-los ao fazer a alteração no assistente. Em vez de editar manualmente múltiplos scripts, você pode fazer uma alteração uma vez no mapa e as alterações serão propagadas automaticamente para todos os scripts que o utilizam. Este recurso pode economizar tempo.

    Há também um modo mais fácil de atualizar as propriedades de reconhecimento de um objeto de teste que deve ser alterado. Em vez de utilizar o assistente Unificar, conforme descrito neste exercício, a partir do Mapa do Objeto, é possível selecionar o objeto de teste cujas propriedades de reconhecimento você deseja atualizar. Clique com o botão direito no objeto de teste como é exibido na árvore do Mapa de Objeto e selecione Atualizar Propriedades de Reconhecimento a partir do menu pop-up. O aplicativo de teste deverá estar em execução quando esta ação for executada para que o Functional Tester possa obter as propriedades de reconhecimento atualizadas. Você utilizaria somente este método de atualização se não desejar utilizar propriedades do objeto antigo.
  4. Feche o log.
< Anterior | Próximo >

Feedback