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
- Estático
- 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