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.
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:
- Anote o objeto no qual você deseja usar o GetROProperty em Repositório de Objetos.
- Para o objeto gravado, identifique a propriedade de tempo de execução que pode ser usada. Você pode usar o Object Spy.
- Utilize o método GetROProperty para recuperar a propriedade de tempo de execução identificada e armazenar o valor em uma variável.
- 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.
