GetRoProperty, GetToProperty em QTP/UFT com exemplo

⚡ Resumo Inteligente

O Object Spy revela as propriedades e os métodos de qualquer controle no aplicativo em teste, enquanto GetROProperty, GetTOProperty e SetTOProperty leem e gravam os valores dessas propriedades a partir de um objeto. QTP or UFT Um script em tempo de execução.

  • 🔎 Primeiro, o Object Spy: Aponte para um controle para visualizar as propriedades do objeto de teste, as propriedades de tempo de execução, os métodos e a hierarquia completa.
  • ☑️ Dois mundos de objetos: O objeto de teste é a descrição armazenada; o objeto de tempo de execução é o controle ativo na aplicação.
  • ObterROPropriedade: Lê o valor atual do controle em tempo real, portanto o aplicativo deve estar aberto e o objeto deve existir.
  • 🧪 GetTOPreperty: Em vez disso, lê a descrição armazenada, razão pela qual os dois métodos podem retornar valores diferentes.
  • 🛠️ SetTOPreperty: Altera a descrição apenas para esta execução; o repositório nunca é alterado e a alteração é descartada ao final.
  • 📌 Nenhuma propriedade SetRO: Um script pode ler a aplicação, mas não pode gravar uma propriedade de volta nela.

Object Spy e os métodos GetROProperty, GetTOProperty e SetTOProperty em QTP e UFT completa

Este tutorial demonstra Espião de objetos.

Object Spy pode ajudar a determinar as propriedades e métodos úteis associados a um objeto em seu ambiente.

O HP/Micro Focus UFT tutoriais também descreve GetROProperty, GetTOPreperty e SetTOPreperty.

⚠️ Nota de versão: A ferramenta descrita aqui foi lançada como HP QuickTest Professional, tornou-se Micro Focus Unified Functional Testing e é vendida hoje como OpenText Testes funcionais (UFT Um)O Object Spy e todos os três métodos ainda funcionam exatamente como descrito abaixo.

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

Espião de objetos

  • O recurso Object Spy está disponível em QTP por meio do qual você pode visualizar as propriedades e os métodos dos objetos, tanto em tempo de teste quanto em tempo de execução.
  • Também fornece a sintaxe de um método selecionado.
  • O Object Spy fornece a hierarquia completa do objeto selecionado.

Essa hierarquia é importante, porque o nome de uma propriedade copiado do Object Spy é exatamente a string que os três métodos abaixo esperam. Portanto, inspecionar um objeto é o primeiro passo em quase todas as tarefas de recuperação de propriedades.

GetROProperty

  • GetROProperty é um método integrado usado para recuperar o valor em tempo de execução de uma propriedade de objeto.

Existem 4 etapas envolvidas no uso do GetROProperty:

  1. Anote o objeto no qual você deseja usar o GetROProperty em Repositório de Objetos.
  2. Para o objeto gravado, identifique a propriedade de tempo de execução que pode ser usada. Você pode usar o Object Spy.
  3. Utilize o método GetROProperty para recuperar a propriedade de tempo de execução identificada e armazenar o valor em uma variável.
  4. Utilize esse valor para deduções adicionais.

Como o valor é lido do controle em tempo real, o aplicativo deve estar aberto e o objeto deve existir efetivamente na tela quando a linha de código for executada.

SetTOPreperty e GetTOPreperty

  • Considere um botão da Web armazenado no repositório de objetos.
  • Quando o teste for executado QTP Cria uma cópia desse objeto chamada Objeto de Teste e a compara com o Objeto de Tempo de Execução.
  • Usando GetTOProperty, você pode recuperar o valor de uma propriedade do objeto Test.
  • Usando SetTOProperty, você pode alterar o valor da propriedade de um objeto de teste.
  • Quando o teste for concluído, este objeto de teste será descartado, assim como quaisquer modificações feitas nas propriedades do objeto usando o SetTOProperty.
  • Quando o teste é executado novamente, uma nova cópia do objeto de teste é criada com valores de propriedade originais armazenados no repositório de objetos
  • Você pode considerar usar GetTOProperty e SetTOProperty quando seu script de teste tiver várias linhas de código e seu ambiente for esporádico.
  • Observação: não existe a propriedade SetROProperty.

Sintaxe e exemplos

Os três métodos são chamados em um objeto de teste no final de sua hierarquia e todos os três recebem uma propriedade de descrição como uma string. A tabela fornece a assinatura de cada um.

Forma Sintaxe Lê ou escreve
GetROProperty objeto.ObterROPropriedade(Propriedade) Lê o controle em tempo real no aplicativo.
Obtenha a propriedade objeto.ObterPropriedadeTo(Propriedade) Lê a descrição do objeto de teste armazenado.
SetTOPreperty objeto.DefinirPropriedade, Valor Escreve a descrição do objeto de teste apenas para esta execução.

A leitura de um valor em tempo de execução é feita em uma única instrução. Este exemplo, retirado do referência oficial para recuperar e definir valores, obtém o endereço de destino de um link durante a sessão de execução.

link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")

Escrever e depois ler uma propriedade de um objeto de teste é igualmente rápido. O par de códigos abaixo define o nome do botão "Enviar" para o meu botão e lê o mesmo valor de volta imediatamente.

Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button"
ButtonName = Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")

Uma verificação típica une as duas ideias: ler o valor em tempo de execução com GetROProperty e, em seguida, compará-lo com o que o teste espera.

strValue = Browser("Welcome").Page("Find a Flight").WebList("fromPort").GetROProperty("selection")
If strValue = "Acapulco" Then
    Reporter.ReportEvent micPass, "Default city", "Default city is correct"
Else
    Reporter.ReportEvent micFail, "Default city", "Unexpected value: " & strValue
End If

Diferença entre GetROProperty e GetTOPreperty

Os dois nomes diferem por uma letra e são o par que mais causa confusão na ferramenta. RO significa objeto de tempo de execução, TO significa objeto de teste, e cada um lê de um local diferente.

Ponto de comparação GetROProperty Obtenha a propriedade
Fonte do valor O controle em tempo real no aplicativo em execução A descrição armazenada para o objeto de teste
A candidatura deve estar aberta. Sim Não
Observa uma alteração em SetTOProperty Não Sim, para a versão atual.
Uso típico Verificar o que o usuário realmente vê. Verificar ou depurar como o objeto está sendo identificado.
setter correspondente Nenhuma — não existe nenhuma propriedade SetROProperty. SetTOPreperty

Um contraste bem elaborado torna a divisão óbvia. Defina um ID HTML em uma lista que não possui nenhum, e então leia-o de volta nos dois sentidos: GetROProperty retorna uma string vazia porque o aplicativo nunca foi alterado, enquanto GetTOProperty retorna o valor que acabou de ser escrito na descrição.

Erros comuns e como corrigi-los

A recuperação de propriedades falha por um pequeno número de motivos previsíveis. A tabela lista os problemas que os testadores encontram com mais frequência.

Sintoma Causar Fixar
A chamada retorna uma string vazia. O nome da propriedade está incorreto ou o objeto não a expõe. Inspecione o objeto novamente e copie o nome da propriedade exatamente como está listado.
Objeto não encontrado na linha GetROProperty O controle ainda não havia sido renderizado. Adicione uma etapa de sincronização antes da leitura.
GetROProperty ignora uma alteração feita por SetTOProperty. Os dois métodos abordam objetos diferentes por definição. Leia a alteração de volta com GetTOProperty.
Uma alteração SetTOProperty desaparece. As edições do objeto de teste duram apenas durante a execução atual. Edite o objeto no repositório ou use programação descritiva
SetROProperty gera um erro de sintaxe. Não existe tal método. Execute o aplicativo por meio de uma etapa normal, como Definir ou Clicar.

Dois hábitos previnem a maioria desses problemas: inspecionar o controle antes de escrever a linha, em vez de adivinhar o nome da propriedade, e manter VBScript As chamadas de recuperação são feitas próximas à etapa que precisa do valor, para que o objeto ainda esteja na tela quando a leitura ocorrer.

Perguntas Frequentes

O Object Spy lista as propriedades de identificação que a ferramenta possui para essa classe, além das propriedades nativas expostas pelo navegador. Os valores de atributos e estilos são acessados ​​pelos prefixos de atributo e estilo dentro da string da propriedade.

Um objeto de tempo de execução pertence à aplicação, não ao teste, portanto a ferramenta não irá escrever nele. Para alterar o que a aplicação contém, acione o controle com uma ação comum, como Definir, Selecionar ou Clicar.

Não. O objeto de teste temporário é descartado ao final da execução, e uma nova cópia é criada a partir do repositório na próxima vez. Alterações permanentes devem ser feitas no próprio repositório de objetos.

Sim. Um objeto descrito construído inline aceita as mesmas chamadas, então GetROProperty funciona com programação descritiva Além disso, GetTOProperty retorna o valor da descrição embutida em vez de uma entrada armazenada.

As ferramentas de localização assistidas por IA classificam várias propriedades candidatas para o mesmo controle e corrigem uma descrição incorreta quando um atributo é alterado. Isso reduz a necessidade de verificação manual, embora a propriedade sugerida ainda precise de uma verificação humana.

O Copilot completa a hierarquia e a chamada de método assim que encontra algumas linhas semelhantes no arquivo. Ele não tem como saber os nomes reais dos seus objetos nem quais propriedades o controle expõe, portanto, verifique cada string gerada no Object Spy.

O Object Spy é uma ferramenta de inspeção que exibe valores enquanto você compila o script. Um ponto de verificação é uma etapa executada dentro do teste e que reporta se o teste foi aprovado ou reprovado em relação a um valor esperado armazenado.

Somente se o objeto ainda existir no aplicativo. Um controle que não foi renderizado ou que foi removido da página gera um erro de objeto não encontrado em vez de retornar um valor vazio.

Resuma esta postagem com: