Com base nas tecnologias, suplementos e plataformas, o QTP escolhe o ambiente no qual trabalhar.

QTP pode funcionar nos ambientes indicados abaixo -

Ambientes suportados por padrão
Rede X ativo Visual básico
Outros ambientes suportados
.Net (Windows e formulário da web) People Soft Idade Visual
Java Oráculo Delphi
Power Builder Siebel Serviços web
SAP para Web Stingray Emulador de Terminal
WPF Windows padrão SAP para Windows

QTP suporta 2 tipos de repositório de objetos -

  • Repositório de objetos compartilhados

  • Repositório de objetos por ação

Repositório de objetos compartilhados: Também é chamado de repositório de objetos globais, o melhor ao usar objetos dinâmicos e a descrição do objeto muda com frequência em um teste, apresentado pela extensão “" .tsr ". Os testadores geralmente preferem o repositório de objetos compartilhados mais do que o repositório de objetos local ao automatizar o teste.

Repositório de objetos por ação: É um repositório de objetos padrão, também chamado de repositório de objetos local, apresentado pela extensão ".mtr".

No QTP, o nome lógico é um nome que identifica exclusivamente o objeto em relação a outros objetos do aplicativo ao criar um objeto no repositório. QTP usa este nome de objeto para mapear o objeto apresentado no script com sua descrição correspondente no repositório de objetos usando este código -

Browser ("Browser"). Página ("Tutorialspoint"). Aqui, Tutorialspoint é o nome lógico do objeto.

Normalmente, o QTP executa ações no objeto e suas propriedades que foram salvas no repositório de objetos.

A programação descritiva não facilita que os usuários armazenem o objeto e seus valores de propriedade no repositório de objetos, mas facilita que os usuários mencionem diretamente o par de valores de propriedade no script. A programação descritiva não é para evitar o repositório de objetos, ela facilita os usuários no reconhecimento dos objetos dinâmicos.

Na programação descritiva, use a propriedade name, por exemplo -

Navegador ("nome: =" xxx ""). Página ("nome: =" xxxx "") ..... 

OU

Use também a propriedade "micClass", por exemplo,

Navegador ("micClass: = navegador"). Página ("micClass: = página") ....

Sim! Você pode gravar o aplicativo colocado em um mecanismo remoto via navegador local, não via remoto; citrix, mas se você ainda não conseguiu gravar, é melhor instalar o QTP e o aplicativo na mesma máquina para manter a mesma sessão.

A palavra-chave “CreateObject” cria e retorna uma referência ao objeto de teste.

CreateObject (servername.typename [, location] )

Onde,

servername - Um argumento obrigatório para o código, usado para apresentar o nome do aplicativo que fornece objecst.

typename - Um argumento necessário para o código, usado para apresentar o tipo ou classe do objeto a ser criado.

location - Um argumento opcional para o código, usado para apresentar o nome do servidor de rede onde o objeto deve ser criado.

 

For example - Defina IE = CreateObject ("Chrome.Application")

Sim, é possível criar a ação reutilizável para o script de teste correspondente e, a partir do script de teste de destino, fazer chamadas para os scripts de teste de ações reutilizáveis.

No QTP, a divisão de ações pode ser usada para dividir uma ação importante e uma existente em duas partes. A ação pode ser dividida em partes de acordo com sua funcionalidade, de modo que; o código pode ser melhorado e reutilizado para finalidades diferentes.

Primeiro, abra o QTP selecionando o suplemento Java e, em seguida, execute a operação de gravação na árvore Java. Se você não estiver obtendo um ambiente de gravação adequado, na ferramenta QTP aberta, vá para Ferramentas Identificação de Objeto Java. Na árvore, os objetos fazem alterações nas propriedades obrigatórias e auxiliares para facilitar a identificação.

O teste de plataforma cruzada e o teste de navegador cruzado podem ser possíveis criando ações diferentes em termos de sistemas operacionais e navegadores diferentes.

Teste de plataforma cruzada: a variável de ambiente embutida ajuda a escavar as informações do sistema operacional. Você pode chamar a ação com base na plataforma onde a ação foi gravada.

Teste entre navegadores: O código; Browser ("Core Values"). GetROProperty ("version") auxilia na extração do navegador e sua versão correspondente, por exemplo; IE 6, Mozilla Firefox 9 ou Netscape 5. Depois de extrair o navegador, você pode chamar as ações relevantes para o navegador específico.

Diretamente, você pode se conectar ao QC a partir da janela UFT GUI. Para fazer isso -

  • Vá para o menu de arquivo e escolha o centro de qualidade (QC) 

  • Em seguida, uma janela será aberta para inserir a url do QC e outros detalhes - Nesta janela, insira o ID do usuário, senha e projeto

Os passos acima irão facilitar sua conexão ao QC, mais tarde você pode executar os testes do próprio QC.

Tipos de framework de automação no UFT -

  • Linear - Usando esta estrutura, você pode criar o teste com muita facilidade, basta escrever um único programa sem modularidade em etapas sequenciais.

  • Keyword driven - Para criar o teste usando esta estrutura, você deve gerar diferentes palavras-chave para diferentes conjuntos de operações e referir essas palavras-chave ao código de script principal.

  • Data driven - É usado para executar o mesmo conjunto de operações em vários conjuntos de dados que são reservados em arquivos separados, geralmente planilhas do Excel.

  • Hybrid - Uma estrutura baseada em dados e palavras-chave

  • BPT - Aqui, os programas são divididos em componentes de negócios e os programas são usados ​​com um ou outro dos tipos de estruturas acima.

Settoproperty significa definir propriedade do objeto de teste. Usando esta propriedade, você pode alterar temporariamente os valores do objeto e seu valor de propriedade correspondente em tempo de execução.

A função de arredondamento no UFT é usada para arredondar o valor decimal

For example

Mydecimal = 8.2755555

Roundedvalue = Round(Mydecimal , 5)

Print roundedvalue ‘it will print 8.275

Sim! O usuário pode alternar do local para o repositório de objetos compartilhados abrindo a janela QTP, acessando Recursos de Configurações de Teste (fornece uma opção para escolher repositórios).

No QTP, as propriedades do objeto auxiliam na identificação do objeto GUI. Durante a gravação, o repositório de objetos dos objetos GUI armazena as propriedades que foram definidas nas configurações de Identificação de Objetos e durante a execução do teste, QTP compara as propriedades que foram armazenadas no repositório de objetos dos objetos GUI com as propriedades na tela para reconhecer exclusivamente o objeto GUI.

A execução de vários arquivos de teste (ou série de arquivos) ao mesmo tempo é conhecida como teste em lote. Para executar o teste em lote, o QTP fornece uma ferramenta “Batch Test Runner”. Para funcionar vários arquivos juntos em uma ferramenta, você só precisa adicionar um script do teste. Depois de adicionar o script, você não precisa fazer nada manualmente, a ferramenta começará a abrir e executar automaticamente o script de teste um após o outro.

Existem muitas desvantagens do QTP -

  • Caro em termos de licença e manutenção

  • Não é possível executar vários threads / instâncias

  • O processo de execução é lento em comparação com ferramentas de código aberto como Selenium

  • A licença QTP só pode ser renovada pela HP

Existem 3 tipos de modo de gravação que o QTP suporta -

  • Modo de gravação normal (contextual)

  • Modo de gravação de baixo nível

  • Modo de gravação analógica

Modo de gravação normal: Um modo de gravação padrão que tem sido usado na maioria das atividades de automação. Ao usar o Test Object Model do QTP, ele reconhece objetos além de sua localização na tela.

Modo de gravação de baixo nível: Neste modo, a operação do mouse nas coordenadas x, y ajuda a gravar os objetos. É capaz de testar hashmaps e gravar objetos que não podem ser identificados pelo modo de gravação normal.

Modo de gravação analógica: Este modo de gravação grava a tela / janela do aplicativo com base nas operações do mouse e do teclado. Ele registra as operações, como; desenhar uma imagem, gravar assinatura, arrastar e soltar operações.

A exibição de palavras-chave é uma exibição baseada em ícones, exibe as etapas do teste em formato tabular e cria automaticamente a documentação para as etapas do teste.

O Expert View fornece a instrução VB Script correspondente para cada etapa de teste na visualização de palavras-chave.

Embora o QTP não forneça nenhum suporte embutido para a conectividade do banco de dados, a linguagem VBScript e os objetos ADODB ajudam na conectividade do banco de dados.

Existem certas coisas que devem ser conhecidas antes da conectividade -

  • Sequência de conexão do seu servidor (será diferente de um servidor para outro e pode ser construída em www.connectionstrings.com )

  • Tipo de banco de dados

  • Nome do servidor

  • Nome do banco de dados

  • Username

  • Password

Para se conectar ao banco de dados; você pode codificar o comando de conectividade do banco de dados diretamente ou pode usar a  ferramenta SQLQuery fornecida pelo QTP.

Durante o teste ou a programação descritiva, o espião do objeto facilita a identificação e obtenção das propriedades e métodos do objeto em tempo de execução e teste do aplicativo. Ele pode ser acessado diretamente da barra de ferramentas ou do repositório de objetos.

A extensão do arquivo de código é script.mts.

Se uma etapa for declarada como opcional, o QTP considera que a execução da etapa não é obrigatória. Se uma etapa opcional contém objetos GUI, o QTP executa essa etapa. Se uma etapa opcional não contiver objetos GUI, o QTP evita a etapa opcional e avança para a próxima etapa.

Os tipos de frameworks de automação são -

  • Scripting linear - registro e reprodução

  • Estrutura da arquitetura da biblioteca de teste

  • Estrutura de teste orientada a dados

  • Orientado por palavras-chave (ou estrutura de teste orientado por tabela)

  • Estrutura Híbrida

O ponto de verificação de página no QTP exibe os números de contagem de links válidos / inválidos presentes em uma página.

Embora o QTP forneça quatro tipos de status de resultado; Aprovado, Reprovado, Concluído e Esperando, um método padrão de QTP “Reporter.Reportevent” envia mensagens personalizadas para a janela de resultados do teste. “Reporter.Reportevent” também pode enviar captura de tela do status do resultado para a janela de resultados do teste.

Syntax

Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath]

Enquanto que

EventStatus = 0 ou micPass, 1 ou micFail, 2 ou micDone e 3 ou micWarning

ReportStepName = (String) Nome da etapa pretendida no relatório (nome do objeto).

Details= (String) Descrição do evento de relatório. A sequência será exibida no quadro de detalhes da etapa no relatório.

O modelo QTP Automation Object lida completamente com o processo de automação que acontece no QTP. Normalmente, o modelo de objeto de automação QTP representa toda a configuração e funcionalidade fornecida pelo teste QTP. Quase todas as caixas de diálogo QTP contêm seus objetos de automação correspondentes, que podem ser editados ou recuperados por suas propriedades ou métodos correspondentes apresentados no Modelo de objeto de automação. O usuário pode usar objetos de automação com elementos de programação VB padrão (loops iterativos ou instruções condicionais) para criar um script desejado.

Durante a execução do teste, os valores de Saída de Texto capturam a exibição de texto no aplicativo. Na parametrização, os valores de saída de texto capturam valores exibidos em cada iteração, esses valores serão armazenados na tabela de dados de tempo de execução para obter mais ajuda.

O Step Generator adiciona etapas aos scripts de teste com a gravação de qualquer processo.

Uma ação pode ser chamada de duas maneiras -

Chamada para CÓPIA de uma Ação: Enquanto copia a ação (ações reutilizáveis ​​e não reutilizáveis), a ação também copia pontos de verificação, parametrização e a guia de ação correspondente na Tabela de Dados do teste de chamada. Na Tabela de dados do teste de chamada, você pode fazer a modificação na ação copiada de forma que a modificação não afetaria os outros testes.

Chamada para uma ação EXISTENTE: Aqui, você pode fazer uma chamada apenas para as ações "Reutilizáveis". No teste de chamada, as chamadas para uma ação existente estarão no modo somente leitura. Eles só podem ser modificados no teste em que foram criados. É facilmente gerenciável e pode ser usado da mesma ação em vários testes.

O Relatório de fusão de teste apresenta todos os recursos de um aplicativo de teste que é usado durante a execução do teste. O Test Fusion Report apresenta-se como um formato tabular organizado. Além disso, ele fornece detalhes de cada etapa das iterações, tabela de dados em tempo de execução e filme da execução do teste, se selecionado.

A tabela de dados em tempo de execução armazena valores, como; saída parametrizada, valores de ponto de verificação, valores de saída, etc. Apresenta-se com a extensão de arquivo “xls” e armazena-se na pasta de resultados de teste. O usuário também pode acessá-lo no Relatório de fusão de teste.

O ponto de verificação é um ponto de verificação que gera um status PASSA ou FALHA ao comparar uma propriedade especificada com o valor atual e o valor esperado.

Um valor de saída é um valor registrado durante a execução de um teste e pode ser armazenado em um local específico como; em uma tabela de dados ou em uma variável. Ao contrário dos pontos de verificação, ele não compara dois valores para gerar o status PASSA / FALHA.

No QTP, as exceções podem ser tratadas usando “cenários de recuperação” e declarações “Com erro”.

Para lidar com a exceção no cenário de recuperação, você deve definir três coisas -

  • Eventos desencadeados

  • Etapas de recuperação

  • Teste pós-recuperação

Para lidar com a exceção por declarações “On Error” - No script, você deve usar as instruções “On Error Resume Next” e “On Error Go to 0”.

No QTP, as ações são escritas em linguagem de script VB que não retorna nenhum valor. As funções são escritas em linguagem de script VB que retorna um valor único.

Cada ação contém seu próprio repositório de objetos, tabela de dados, tela ativa, etc, onde uma função não contém.

A função pode ser chamada em ação, mas a ação não pode ser chamada em função.

No QTP, as funções são salvas com a extensão ".vbs", enquanto as ações são salvas com a extensão ".mts".

A ação é interna ao QTP, enquanto a função são apenas linhas de código com alguns / nenhum parâmetro e um único valor de retorno.

Às vezes, as ações são reutilizáveis, mas às vezes não, enquanto as funções são sempre reutilizáveis.

Use a palavra-chave DIM antes de um nome de variável para declarar uma variável e use a palavra-chave SET antes de um nome de variável para atribuir valor à variável

For Example

“Dim weight”, here DIM keyword is used to declare weight variable.

Set weight = 40, here SET keyword is used to assign value “40” to the weight variable.

GetRoProperty é um método padrão de QTP que busca valores de propriedade de um objeto de tempo de execução.

Às vezes, o QTP é incapaz de encontrar um objeto que corresponda à descrição do objeto correspondente. Ou, às vezes, o QTP encontra mais de um objeto que corresponde à descrição do objeto. Portanto, para resolver esse problema, o QTP ignora as descrições dos objetos e se concentra no mecanismo de Identificação Inteligente para identificar os objetos.

O mecanismo de identificação inteligente do QTP usa dois tipos de propriedades para identificar os objetos - propriedade do filtro básico e propriedade do filtro opcional.

Propriedade do filtro básico - uma propriedade de uma classe de objeto de teste específica cujos valores mudam quando o significado real do objeto original muda.

Propriedades opcionais do filtro - também ajuda a identificar os objetos de uma classe específica cujas propriedades mudam com frequência, mas se não forem mais aplicáveis, você pode ignorá-las.

Você pode criar um arquivo ZIP dos scripts em seu computador de origem que pode ser importado para o computador de destino do QTP usando a função "Gerar Script". Para aproveitar esta função, vá para a guia Ferramentas / Opções de Configurações do Teste de Identificação de Objetos.

Não! Não podemos abrir duas instâncias do QTP em uma única máquina para trabalhar, mas o próprio QTP pode funcionar em várias instâncias do aplicativo em teste (AUT) e lidar com várias janelas do navegador IE simultaneamente.

Sintaxe para importar xls para QTP -

DataTable.ImportSheet "..\..\TestData\Input.xls",1,dtGlobalSheet

Syntax to export xls into QTP,

DataTable.ExportSheet "..\..\Results\Output.xls","Global"

SetToProperty é um método padrão de QTP que altera temporariamente a propriedade de um objeto armazenado no Repositório de Objetos.

O atraso de tempo padrão para aplicativos baseados na web é de 60 segundos, que pode ser alterado pela caixa de diálogo Configurações de teste.

A sintaxe correta para gravar dados no arquivo Excel no UFT é -

filepath = “C:\Bugs\Reports.xlsx”
Set objExcel = CreateObject(“Excel.Application”)
objExcel.Visible = True
Set Wb= objExcel.Workbooks.Open (filepath)
Wb.worksheets(1).Cells(1,1).Value = “TutorialPoints” read value from Excel file

TSR significa Test Shared Repository, usado para compartilhar repositórios de objetos.

Siga as etapas abaixo para gerar o arquivo TSR -

Primeiro, abra o repositório de objetos e vá para o menu Arquivo. Em seguida, exporte a opção de objetos locais e selecione-a. O UFT abrirá uma caixa de diálogo para salvar o arquivo .tsr; forneça o caminho desejado para salvar o arquivo.

As etapas acima irão gerar o arquivo .tsr no UFT.

É uma ferramenta integrada padrão fornecida pelo QTP para converter ações em componentes de processos de negócios.

O UFT oferece três maneiras de obter a contagem de linhas da tabela da web.

  • Usando a propriedade do objeto webtable - rowcount

  • Usando GetROProperty

  • Usando HTML DOM + UFT

Existem duas maneiras de exportar tabelas de dados para o Excel -

  • DataTable.Export (“C: \ export.xls”)

  • DataTable.ExportSheet “C: \ mysheet.xls” (cria o novo arquivo na ausência do arquivo excel)

QTP suporta três tipos de variáveis ​​de ambiente -

  • Integrado (somente leitura)

  • Interno definido pelo usuário (somente leitura)

  • Externo definido pelo usuário (leitura / gravação)

A sintaxe fornecida abaixo usada para recuperar a variável de ambiente

Environment.Value( "name") = "TutorialPoints"
                  OR
Environment.Value( "OS") = " TutorialPoints"

Enquanto que

Environment.Value ("name") A sintaxe retornará o nome como TutorialPoints

Environment.Value ("OS") Isso retornará o sistema operacional do seu sistema

No ponto de verificação de bitmap, o usuário pode comparar dois bitmaps completos, bem como parte dos bitmaps de um pixel a pixel.

No ponto de verificação da imagem, o usuário só pode verificar os valores da propriedade da imagem

Diferença entre arquivos qfl e vbs -

  • qfl é um arquivo de biblioteca de função de teste rápido, enquanto vbs é o arquivo vbscript da Microsoft

  • qfl é um arquivo não executável enquanto que vbs é um arquivo executável

  • Para usar o arquivo qfl no UFT, você deve associar o arquivo qfl da configuração de teste, enquanto o arquivo vbs só pode ser associado à instrução “executar arquivo”.

A sintaxe correta para gravar dados em arquivo de texto no UFT é -

Content = “TutorialPointsTutorials”
Set Fo = createobject ("Scripting.FilesystemObject")
Set f = Fo.openTextFile ("c:\myFile.txt",8,true)     ' open in write mode

   f.Write (contents)
   f.Close
   Set f = nothing

A extensão de uma biblioteca de funções é “.QFL”.

O QTP não realiza iterações com base na planilha de dados local, ele realiza iterações com base na planilha de dados global, para que; a iteração de teste será apenas uma vez na folha de dados global.

O código fornecido abaixo ajuda no envio de e-mail do Outlook -

Set Outlook = CreateObject ("Outlook.Application")
Dim Message 'As Outlook.MailItem
Set Message = Outlook.CreateItem (olMailItem)

With Message
   .Subject = Subject
   .HTMLBody = TextBody
   .Recipients.Add (aTo)
   Const olOriginator = 0
   .Send
End With

Siga o código fornecido abaixo para obter dados do banco de dados -

Set db = createobject (“ADODB.Connection”)
db.Open “Provider = Microsoft.Jet.OLEDB.4.0;Data Source=G:\guru99\vb6\admission_project.mdb;
Persist Security Info = False”

Set rst = createobject (“ADODB.Recordset”)
rst.Open “select*from Course”, db, 3
id = rst. RecordCount
For i = 0 to id-1
   Print rst.field (0) & rst.fields (1) & rst.fields (2) & rst.fields (3)
   rst.Movenext
Next

Sempre que o Repositório de Objetos cresce, começa a apresentar baixo desempenho devido ao seu tamanho aumentado e o UFT enfrenta problemas na identificação de objetos do repositório de objetos, a programação descritiva (também conhecida como Descrição Programática) fornece uma maneira de identificar objetos e realizar operações em objetos que não estão presentes no repositório de objetos. A programação descritiva inclui o nome e o valor da propriedade. Ele executa a operação de objetos do aplicativo que são muito dinâmicos e para executar a operação no aplicativo em tempo de execução sem ter o conhecimento das propriedades exclusivas do objeto.

Às vezes, o QTP não reconhece objetos de um aplicativo que foram considerados objetos padrão para um aplicativo. O QTP considera esses objetos como objetos virtuais e os mapeia para classes padrão, esses objetos podem ser um botão ou uma caixa de seleção. Durante o tempo de execução, o QTP copia a ação do usuário no objeto virtual e o resultado do teste exibe o objeto virtual como um objeto de classe padrão.