Programação descritiva em QTP / UFT: Dynamic & Estático

Índice:

Anonim

O que é programação descritiva?

A programação descritiva é usada para executar operações em um Objeto no AUT cuja definição não está armazenada no Repositório de Objetos. Usando este mecanismo, você pode ignorar a identificação do Repositório de Objetos e fornecer a Descrição do Objeto na própria instrução.

Um nome de objeto é simplesmente usado para mapear um objeto no script com sua descrição em um repositório de objetos. Ou seja, se você alterar o nome do objeto em seu script e repositório de objetos, o script deve ser executado. Assista ao seguinte vídeo sobre este conceito

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

Destaques de vídeo

  • Exclua a caixa de edição Win do nome do agente do Object Repository. Se você executar o teste novamente, ele falhará, pois não pode reconhecer o objeto. Vamos examinar a razão pela qual o script está falhando
  • Durante o tempo de execução, o Micro Focus UFT identifica a operação executada na caixa WinEdit e a Descrição do objeto no repositório de objetos é armazenada como Nome do agente. Ele usa esse nome para rastrear o objeto em um repositório de objetos. Para um pai, você não pode ter dois objetos filho com o mesmo nome. Portanto, o QTP mapeia exclusivamente o objeto no repositório. Em seguida, usa a descrição armazenada no Repositório de objetos e substitui o nome pela descrição. Em seguida, ele usa essa instrução para identificar o objeto no aplicativo em teste / li>
  • Como em nosso caso excluímos esta descrição do objeto completamente, o script falha / li>
  • Mas e se, em vez de QTP substituir a descrição do objeto, você, como um testador, especificar diretamente as descrições do objeto em seu script. Isso nada mais é do que "Programação Descritiva"

Tipos de programação descritiva

Você pode usar a programação descritiva de duas maneiras

  1. Estático
  2. Dinâmico

Programação Descritiva Estática

No Método estático, para identificação de objeto, você especifica a propriedade de um objeto no seguinte formato

propriedade: = valores,

Este formato é chamado de par de valores de propriedade e está entre vírgulas invertidas>

Se o seu objeto usa várias descrições para identificação, você pode especificá-las usando vírgulas >

Portanto, em nosso caso, a descrição do nome do agente torna-se

"nativeclass: = Editar", "texto anexado: = Nome do Agente:"

Programação Descritiva Dinâmica

O segundo método de fazer a mesma ação é usar a programação descritiva dinâmica

Caso seu script use o candidato a objeto de programação descritiva várias vezes, será muito cansativo especificar todos os pares de valores de propriedade para cada instrução

Nesses casos, você pode usar a classe de descrição fornecida pelo QTP

A sintaxe para criar um objeto de descrição é

Definir MyDescription = Description.Create ();MinhaDescrição ("propriedade"). Valor = "valor da propriedade";

Este é o método dinâmico

Por que usar programação descritiva?

Transcrição de vídeo

  • A pergunta de um milhão de dólares é por que usar DP quando o processo de Identificação de Objeto é gerenciado pelo QTP
  • Suponha que você seja designado para testar um portal de empregos. Você insere uma consulta de pesquisa no portal e
  • seu teste espera que você selecione todos os empregos disponíveis. e clique no botão candidatar-se
  • Mas o número de vagas refletido dependerá da consulta de pesquisa e das vagas disponíveis no momento da execução do script, mas não há como prever com antecedência o número de vagas refletido
  • Nesses casos, você pode usar a programação descritiva. Mesmo que você não saiba o número e os nomes das caixas de seleção, você conhece a classe dos objetos como "WebCheckBox"
  • Você pode usar o método ChildObject para retornar objetos pertencentes a um pai específico
  • Uma linha de código como -
    Defina allObjects = Browser ("Jobs"). Page ("QTP"). ChildObjects ()
  • Retornará todos os objetos filho para esta página.
  • Mas queremos apenas objetos WebCheckBox. Para fazer isso, podemos criar um objeto de criação de filtro e definir sua propriedade como caixa de seleção web e passar este filtro como um argumento para o método ChildObjects
  • Nesse caso, apenas as caixas de seleção são retornadas.
  • Em seguida, você pode escrever um código como este, que acessa toda a coleção de caixas de seleção começando do zero e define todas as caixas como LIGADAS.
  • Em seguida, você pode clicar no botão Aplicar para concluir o teste
  • Você também pode usar a Programação Descritiva para executar objetos que são difíceis de gravar, como Painéis Auto-Escondidos, Objetos com hierarquias variáveis, Objetos Internos Aninhados, Submenus.
  • Você também pode fazer manipulações de string avançadas usando programação descritiva
  • Em conjunto com a propriedade do índice, a programação descritiva pode ser muito útil na identificação de objetos difíceis.
  • Se você usar a descrição programática para um objeto na hierarquia de objetos, você precisará usar a programação de descrição para os objetos filhos subsequentes
  • Por exemplo, para o objeto de página, a programação descritiva foi usada, mas para o objeto filho seguinte, o Repositório de Objetos WinEdit é usado, o que está incorreto
  • Ao contrário, aqui para a página e a programação descritiva do WinEdit é usada a qual é correta