Identificação inteligente em QTP/UFT com exemplo

⚔ Resumo Inteligente

A Identificação Inteligente é um mecanismo de contingência em UFT Uma ferramenta para localizar um objeto quando sua descrição aprendida não corresponde mais à aplicação em teste, usando propriedades de filtro bÔsicas e opcionais para reduzir a lista de candidatos a uma única correspondência.

  • šŸ” Definição: O mecanismo Ć© ativado somente quando a descrição aprendida nĆ£o consegue encontrar uma correspondĆŖncia Ćŗnica com o objeto.
  • 🧩 Dois tipos de imóveis: As propriedades bĆ”sicas do filtro definem o que Ć© o objeto; as propriedades opcionais do filtro restringem ainda mais a correspondĆŖncia.
  • āš™ļø Processo de eliminação: UFT Reconstrói uma lista de candidatos a partir de propriedades bĆ”sicas e, em seguida, filtra-a usando propriedades opcionais uma a uma.
  • šŸ–„ļø Configuração: Ative e configure os filtros por classe de objeto em Ferramentas > Identificação de Objetos.
  • āš ļø Visibilidade dos resultados: Cada invocação registra uma etapa de aviso na Ć”rvore de resultados do teste.
  • ???? Compensação de desempenho: A filtragem adicional aumenta a sobrecarga de tempo de execução em grandes conjuntos de testes.
  • šŸ”§ Correção manual: Substitua uma propriedade volĆ”til, como o nome, por uma estĆ”vel, como o ID HTML, para evitar o comportamento de fallback.
  • šŸ’» Controle de script: A configuração "DisableReplayUsingAlgorithm" desativa ou nĆ£o a Identificação Inteligente para toda a sessĆ£o de execução.

O que é Identificação Inteligente em QTP/UFT?

Identificação Inteligente é um mecanismo de reconhecimento de objetos de contingência em OpenText UFT Uma delas é a ferramenta anteriormente conhecida como HP QuickTest Professional (QTPSe o processo de identificação normal não conseguir encontrar uma correspondência única para a descrição aprendida de um objeto, UFT Aciona a Identificação Inteligente, desde que o mecanismo esteja habilitado nas configurações de Identificação de Objetos para a classe desse objeto.

Ao contrÔrio da descrição aprendida, a Identificação Inteligente não exige uma correspondência exata em todas as propriedades armazenadas. Ela avalia duas categorias de propriedades para reduzir um conjunto de objetos candidatos a exatamente um:

  • Propriedades do filtro bĆ”sico. As propriedades mais fundamentais de uma classe de objeto de teste; aquelas cujos valores nĆ£o podem ser alterados sem que se altere a essĆŖncia do objeto original.
  • Propriedades de filtro opcionais. Propriedades de suporte que ajudam a identificar um objeto, mas que tĆŖm maior probabilidade de mudar com o tempo.

Quando a Identificação Inteligente é executada, UFT O algoritmo "esquece" a descrição aprendida e reconstrói uma nova lista de candidatos contendo todos os objetos que correspondem a todas as Propriedades de Filtro Base. Em seguida, ele refina ainda mais essa lista, verificando as Propriedades de Filtro Opcionais uma de cada vez, até que reste apenas um objeto.

Se a Identificação Inteligente for invocada durante uma sessão de execução, a Ôrvore de resultados do teste registra uma mensagem de aviso confirmando que o mecanismo foi usado, e uma etapa de Identificação Inteligente é inserida nos resultados para que o desvio da descrição aprendida permaneça visível.

A Identificação Inteligente ocupa o terceiro lugar em UFTA hierarquia de identificação de objetos do script, após a descrição aprendida e qualquer Identificador de Relação Visual, e antes do identificador ordinal usado como último recurso. Entender onde ela se encaixa explica por que desativÔ-la completamente, em vez de corrigir as propriedades subjacentes, raramente é a melhor escolha a longo prazo para um script que é executado com frequência.

Propriedades bƔsicas do filtro versus propriedades opcionais do filtro

Ambos os filtros funcionam em conjunto, mas desempenham funções diferentes no processo de eliminação descrito acima. A comparação abaixo esclarece quando cada um é utilizado e qual o poder de eliminação de cada um.

Aspecto Propriedades do filtro base Propriedades de filtro opcionais
Tipo Elabore a lista inicial de candidatos. Reduza a lista de candidatos a um Ćŗnico objeto.
Estabilidade Quase nunca hƔ mudanƧa sem que a identidade do objeto seja alterada. Pode mudar periodicamente sem alterar a identidade do objeto.
Regra de correspondência Todo candidato deve atender a todas as propriedades bÔsicas. Verificamos uma propriedade por vez; uma propriedade é ignorada se eliminar todas as outras candidatas.
Exemplo tĆ­pico Tag HTML, classe de objeto, Ć­ndice Nome, ID HTML, texto alternativo, fonte da imagem
Onde configurado Identificação de objetos > Configurar > Propriedades bÔsicas do filtro Identificação de objetos > Configurar > Propriedades de filtro opcionais

Como a mesma propriedade não pode estar em ambas as listas, planeje a divisão com cuidado. Propriedades que definem o que um objeto é fundamentalmente pertencem à lista base; propriedades que apenas ajudam a distingui-lo de objetos semelhantes pertencem à lista opcional.

Como funciona a identificação inteligente: o processo passo a passo

A Identificação Inteligente só é ativada depois que a descrição aprendida, e qualquer Identificador de Relação Visual, falha em identificar um único objeto. Uma vez acionada, UFT Funciona através de um processo de eliminação previsível em quatro etapas:

  1. Recriar a lista de candidatos. UFT Ignora a descrição aprendida e examina o objeto pai em busca de todos os objetos que correspondam a todas as Propriedades de Filtro Base.
  2. Aplique a primeira propriedade opcional. UFT Remove qualquer candidato que não corresponda à primeira propriedade da lista de Propriedades de Filtro Opcionais.
  3. Avalie o resultado. Se houver mais de um candidato restante, UFT repete o passo anterior com a próxima propriedade opcional. Se um filtro eliminasse todos os candidatos restantes, UFT Em vez disso, ignora essa propriedade e passa para a próxima.
  4. Pare em uma partida. UFT Repete o ciclo de filtragem e avaliação até que reste exatamente um objeto, ou até que não haja mais propriedades opcionais para verificar.

Se o processo de eliminação ainda não conseguir isolar um único objeto, UFT O sistema recorre à descrição aprendida mais um identificador ordinal, como índice, localização ou hora de criação. Quando nem mesmo essa combinação consegue identificar o objeto, a sessão de execução é pausada e exibe um erro de tempo de execução.

Como ativar ou desativar a identificação inteligente

A identificação inteligente é configurada por classe de objeto de teste. Ferramentas > Identificação de ObjetosSelecione o ambiente e a classe do objeto e ative a opção. Ativar a identificação inteligente, então clique configurar Para escolher as propriedades de filtro base e opcionais para essa classe, a mesma caixa de diÔlogo permite desativar a opção para uma classe que deve sempre usar sua descrição aprendida.

Ativar/desativar identificação inteligente

Como funciona a identificação inteligente (tutorial em vídeo)

O vídeo abaixo demonstra o processo de eliminação do filtro base e do filtro opcional em um exemplo prÔtico.

Clique aqui. se o vídeo não estiver acessível

Vantagens e desvantagens do uso da identificação inteligente

A Identificação Inteligente aumenta a resiliência, mas essa resiliência tem um custo em termos de tempo de execução. Avalie ambos os lados antes de deixÔ-la ativada por padrão em todo o repositório de objetos.

  • āœ… Permanece estĆ”vel mesmo com pequenas alteraƧƵes na interface do usuĆ”rio: Um atributo renomeado ou uma mudanƧa de posição na pĆ”gina nĆ£o quebra mais todos os scripts que acessam o objeto.
  • āœ… Reduz a manutenção do repositório de objetos: Os testadores gastam menos tempo regravando objetos após pequenas atualizaƧƵes da interface.
  • āœ… MantĆ©m-se visĆ­vel nos resultados: Cada invocação registra um aviso, permitindo que as equipes verifiquem com que frequĆŖncia o recurso de fallback Ć© realmente necessĆ”rio.
  • āš ļø Execução de testes mais lenta: Criar e filtrar uma lista de candidatos leva consideravelmente mais tempo do que uma correspondĆŖncia direta de imóveis, e o custo se multiplica em um conjunto grande de candidatos.
  • āš ļø Pode mascarar defeitos reais: Se a Identificação Inteligente encontrar silenciosamente um objeto semelhante, uma regressĆ£o genuĆ­na da interface do usuĆ”rio pode passar despercebida.
  • āš ļø Necessita de revisĆ£o periódica: As propriedades de filtro base e opcionais ainda precisam de revisĆ£o ocasional Ć  medida que o aplicativo evolui.

A maioria das equipes mantém a Identificação Inteligente ativada para scripts exploratórios e de baixa frequência, desativando-a seletivamente em objetos críticos para o desempenho assim que as propriedades de identificação do objeto estiverem estÔveis.

Modifique a propriedade do objeto para evitar identificação inteligente

A flexibilidade da Identificação Inteligente tem o custo de tempo de execução descrito acima, por isso muitas equipes preferem corrigir as propriedades de identificação do objeto por conta própria, em vez de depender repetidamente da alternativa. Observe dois sinais que indicam que a correção de uma propriedade é melhor do que uma alternativa em tempo de execução: um aviso da Identificação Inteligente que aparece em quase todas as execuções e um script que ficou visivelmente mais lento desde que a alternativa começou a ser acionada. Ambos apontam para um objeto cujas propriedades de identificação padrão não são mais adequadas para o aplicativo, e não para uma falha pontual da interface do usuÔrio. O vídeo abaixo demonstra a correção em um formulÔrio de login real.

Clique aqui. se o vídeo não estiver acessível

Transcrição do vídeo: Principais conclusões

  • A identificação inteligente torna a execução do script mais lenta, o que nĆ£o Ć© desejĆ”vel para conjuntos de scripts grandes ou executados com frequĆŖncia.
  • Para evitar isso completamente, altere as propriedades de identificação de objetos padrĆ£o em vez de depender da opção alternativa.
  • In Identificação de ObjetoRemova ā€œnameā€ das propriedades obrigatórias e substitua por ā€œHTML idā€ para tornar o teste independente de alteraƧƵes de nome.
  • Repita os mesmos passos assim que a lista de propriedades obrigatórias for atualizada.
  • Se o nome for alterado posteriormente de "Submit" para "Login", o script serĆ” executado sem acionar a Identificação Inteligente.
  • Da mesma forma, se alguma propriedade obrigatória ou auxiliar de um objeto em teste mudar com frequĆŖncia, substitua-a por uma propriedade mais estĆ”vel para manter a execução do script rĆ”pida.
  • Ajustar propriedades Ć© uma habilidade que se desenvolve com a experiĆŖncia; quanto mais vocĆŖ usa a ferramenta, melhor fica.

Desativar a identificação inteligente usando VBScript

A Identificação Inteligente também pode ser desativada durante toda uma sessão de execução sem afetar o repositório de objetos, usando o DesativarReplayUsandoAlgoritmo Configuração de tempo de execução. Isso é útil quando um script deve falhar imediatamente em caso de qualquer incompatibilidade de propriedade, em vez de recorrer silenciosamente ao processo de eliminação.

' Disable Smart Identification for this run session
Setting("DisableReplayUsingAlgorithm") = 1

Browser("Mercury Tours").Page("Find Flights").WebEdit("userName").Set "mercury"

' Re-enable Smart Identification once the strict steps are done
Setting("DisableReplayUsingAlgorithm") = 0

Mantenha a janela desativada o mais curta possível. As etapas executadas dentro dela devem corresponder exatamente à descrição aprendida, de modo que qualquer desvio legítimo no aplicativo em teste cause uma falha imediata em vez de uma recuperação adequada.

Recursos

Baixe as pÔginas da web usadas no tutorial acima para praticar por conta própria.

Perguntas Frequentes

Não. A Identificação Inteligente se aplica à maioria dos casos. UFT Um ambiente, incluindo Windows, Javae objetos .NET, não apenas Web. A disponibilidade depende da classe do complemento e do objeto de teste, e não do tipo de ambiente.

Criar uma lista de candidatos e filtrÔ-la propriedade por propriedade leva mais tempo do que uma única correspondência de descrição aprendida. Em repositórios de objetos grandes, o processamento extra se acumula, então muitas equipes o desativam em objetos críticos para o desempenho.

Sim. Abra o objeto no Repositório de Objetos, acesse Propriedades do Objeto > Detalhes Adicionais e defina Ativar Identificação Inteligente como Falso apenas para esse objeto, deixando o restante do repositório intacto.

Eles resolvem um problema semelhante de maneiras diferentes. Localizadores autorreparĆ”veis ​​em sistemas modernos. Ferramentas de teste de IA O recurso de reaprendizagem automĆ”tica de um elemento alterado ocorre enquanto a Identificação Inteligente filtra uma lista fixa de propriedades. Muitas equipes usam ambos em conjunto.

Não. A Identificação Inteligente filtra as propriedades de texto armazenadas, enquanto UFT As técnicas mais recentes de identificação baseadas em IA e Insight reconhecem objetos visualmente. As duas atuam como camadas de contingência separadas e complementares.

Resuma esta postagem com: