Como funciona a Identificação de Objetos no QTP / UFT?

O que é identificação de objeto?

O QTP também usa uma tecnologia 'humana' para a identificação de objetos. Durante a gravação, o Time QTP tenta aprender as propriedades de um objeto GUI no qual a operação é executada. Durante o tempo de execução, o Micro Focus UFT compara as propriedades do objeto armazenado com as propriedades reais do objeto disponíveis na tela e identifica exclusivamente um objeto independente de sua localização na tela

O objeto armazenado e junto com suas propriedades é chamado Objeto de TESTE

Durante o tempo de execução, o objeto real disponível no aplicativo em teste é chamado Objeto de tempo de execução

Este é o HP UFT's 'Modelo de Objeto de Teste'

O que é repositório de objetos?

As informações sobre os objetos de teste são armazenadas em Repositório de Objetos

Suplementos ajudar a instruir o Quick Test com antecedência sobre a natureza do objeto a ser registrado, de modo a reduzir o tempo necessário para aprender suas propriedades

A seguir, o tutorial em vídeo demonstra como o QTP identifica um objeto GUI (na tela)

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

O QTP armazena Objetos e suas propriedades no Repositório de Objetos para identificá-los durante o tempo de execução. Um objeto pode ter um grande número de propriedades associadas a ele. Por exemplo, no ambiente da Web, um botão pode ter as seguintes propriedades associadas.

Se o QTP tentar se lembrar de todas as propriedades disponíveis para um objeto, O tamanho do Repositório de Objetos aumentará e o tempo de execução do script aumentará drasticamente. Para evitar isso, o QTP por padrão não armazena todas as propriedades de um objeto, mas um número limitado de propriedades típicas de um objeto que ajuda na sua identificação única. Esta escolha de propriedades (a serem salvas durante o tempo de registro) para vários ambientes e objetos é armazenada em Identificação de Objetos

Descrição do objeto, propriedades obrigatórias e assistivas

Um objeto propriedade e os seus valor são chamados Descrição do Objeto . A descrição do objeto é usada para identificar exclusivamente o objeto correspondente. Por exemplo, para uma propriedade WebButton 'nome' e seu valor ' Conecte-se' juntos podem ser denominados como Descrição de Objeto para aquele Botão da Web.

Para acessar, em QTP no Menu Ferramentas, selecione Identificação de Objeto. Na caixa de diálogo Object Recognition, você pode ver uma lista suspensa de todos os ambientes instalados e carregados.

Você pode selecionar um ambiente e o QTP preencher automaticamente a lista de todos os objetos suportados pertencentes a esse ambiente. À direita, o QTP lista as propriedades que serão armazenadas para o objeto. A lista é dividida em

  1. Propriedades obrigatórias será armazenado por padrão para esse objeto
  2. Propriedades assistivas Caso durante o tempo de registro do script o QTP NÃO possa criar uma descrição única do objeto, ele armazenará o propriedades assistivas

Para entender melhor, considere o exemplo de uma imagem da web.

  • O QTP armazenará um valor de alt, tag HTML, tipo de imagem, propriedades obrigatórias, mesmo se puder identificá-lo exclusivamente usando a propriedade alt sozinha.
  • Caso não seja possível criar uma descrição única usando a propriedade obrigatória, o QTP armazenará a propriedade auxiliar. Nesse caso, o QTP armazenará a propriedade da classe.
  • Se esta propriedade ajudar a criar uma descrição única do objeto, o QTP não armazenará o nome do arquivo, propriedade height. Se uma propriedade de classe não for suficiente para criar uma descrição exclusiva, o QTP armazenará a propriedade do nome do arquivo. Se a propriedade de nome de arquivo criar uma descrição única, o QTP não armazenará a propriedade de altura e assim por diante.
  • Suponha que durante o tempo de registro, o QTP tenha armazenado apenas a propriedade da classe. Em Runtime, o QTP esquecerá a distinção entre propriedades obrigatórias e assistivas e comparará todas as propriedades registradas.
  • Mesmo que qualquer uma das propriedades não corresponda ao seu valor armazenado, O script falha