qtp tutorial 23 qtp smart object identification
Neste tutorial QTP, aprenderemos - Identificação de objeto inteligente, adição de ponto de sincronização, execução de um teste e visualização dos resultados e o executor de teste silencioso.
=> Clique aqui para a série de tutoriais de treinamento QTP
Suponha uma situação em que nenhum objeto ou vários objetos correspondam à descrição registrada de um objeto durante o tempo de execução, como o QTP lida com isso?
O que você aprenderá:
- Identificação Inteligente
- Ponto de Sincronização
- Executando um teste
- Resultado dos testes
- Transações
- Silent Test Runner
- Leitura recomendada
Identificação Inteligente
O QTP possui um mecanismo para casos exatamente como este. Se a descrição registrada não permitir que o QTP identifique o objeto especificado em uma etapa, e uma definição de identificação inteligente for definida (e habilitada) para o objeto, o QTP tentará identificar o objeto usando “Identificação inteligente”.
Vamos ver como isso funciona com alguns exemplos. Para cada objeto, existem propriedades primárias e propriedades secundárias.
Exemplo 1: Objeto com a descrição registrada não foi encontrado.
Em uma página, havia um botão e as seguintes são propriedades:
- Primário: Nome
- Secundário: Abs x, y
Durante a gravação, a propriedade “Nome” era “ID de Login”. Devido a algumas alterações no aplicativo, a propriedade “Nome” foi alterada para “ID do usuário”. Nesse caso, o QTP encontrará um botão com uma descrição diferente e deverá falhar se considerar apenas as propriedades primárias.
Mas em casos como este, quando as propriedades primárias não correspondem, ele verifica as secundárias e se elas correspondem, reconhece o objeto. Neste caso, ele reconhecerá o botão por suas coordenadas X e Y.
Exemplo 2: O QTP deveria encontrar uma página X e há 2 páginas com configurações de navegador semelhantes.
Nesse caso, também, ele tenta usar o “nome” ou outras propriedades para encontrar a (s) página (s) correta (s) e trabalha de acordo.
Os 2 acima são exemplos de casos em que o QTP ativa o mecanismo de Identificação inteligente.
- Os resultados do teste também mostrarão se uma etapa empregou a identificação inteligente para ser executada com sucesso.
- Se o QTP não conseguir encontrar o objeto apesar da Identificação inteligente, o teste falhará.
Para a maioria dos objetos, o QTP fornece propriedades de filtro básico padrão (Primário) e propriedades de filtro Opcionais (Secundário) que verifica se habilitamos a identificação inteligente para eles. O usuário também tem a opção de editar quais propriedades considerar. Para fazer isso, vá para ' Ferramentas-> Identificação de Objeto ' .
Escolha o ambiente relevante no menu suspenso e escolha a classe de objeto. Depois de escolhê-lo, marque “Habilitar Identificação Inteligente” e clique em “Configurar”.
Clique em Adicionar ou Remover
Selecione as propriedades conforme necessário:
qual processo requer compilações e testes automatizados para verificar o software durante o desenvolvimento
Faça sua seleção e clique em OK quando terminar.
O processo acima garantirá que, da próxima vez que tiver dificuldade em identificar um objeto dessa classe, ele empregará identificação inteligente para fazê-lo.
Além disso, para a maioria dos objetos, a “identificação inteligente” está ativada por padrão. Você pode ver onde este é o caso para um determinado objeto acessando-o no OR em “Detalhes adicionais” parte das propriedades do objeto.
É definido como “Verdadeiro” se ativado e “Falso” se desativado.
Você também pode escolher habilitar ou desabilitar a identificação inteligente inteiramente para um teste. Escolher ' Arquivo-> Configurações-> Executar-> Desativar Identificação Inteligente durante a sessão de execução ' opção.
Ponto de Sincronização
Considere este programa,
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Em um mundo ideal, assim que você clicar no botão “Entrar” na página de login do Gmail, a “Caixa de entrada” deverá ser exibida sem atrasos. Isso significa que o estado do aplicativo está pronto para que a última instrução em nosso exemplo seja executada imediatamente após a última, mas uma instrução ser executada.
Mas, em tempo real, por vários motivos, os aplicativos nem sempre carregam no mesmo ritmo. Se não instruirmos o QTP para esperar um certo tempo antes de prosseguir. Mais especificamente, até que um objeto atinja um determinado estado.
Um ponto de sincronização é usado para instruir o QTP a esperar até que uma propriedade de objeto particular atinja o valor que você especificou.
Ao inserir um ponto de sincronização, uma declaração “Wait Property” é inserida no teste.
Browser('Gmail: Email from Google').Page('Gmail - Inbox'). Link('Sign out').WaitProperty “Visibile”,true,20
Portanto, seu novo programa será mais ou menos assim: (linha 6 abaixo)
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox'). Link('Sign out').WaitProperty “Visible”,true,1000 Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Pode ser inserido durante a gravação usando a opção de menu ' Inserir-> Ponto de Sincronização ' . Escolha o objeto para inserir o ponto de sincronização.
Insira o valor conforme necessário:
Esta é a declaração que é inserida:
Browser('Gmail - Inbox').Page('Gmail - Inbox').Link('Sign out').WaitProperty 'visible', true, 10000
Executando um teste
# 1) Automação-> Executar ou F5 normalmente executa o teste inteiro.
#dois) Você pode executar uma parte do teste escolhendo “Automação-> Executar Ação Atual” opção
# 3) Você pode executar um teste a partir de um determinado ponto do seu teste, escolhendo o ' Automação-> Executar a partir da Etapa ' opção.
# 4) Assim que você escolher qualquer uma das maneiras acima para executar um teste, será solicitado que você escolha o local onde deseja que os resultados do teste sejam armazenados. Você pode escolher a pasta escolhendo a primeira opção. Nesse caso, os resultados serão armazenados para cada instância da execução do teste.
Mas se você escolher a próxima opção, uma pasta temporária, os resultados serão sobrescritos e apenas o resultado da execução do teste mais recente será armazenado na pasta escolhida. Em termos de memória, é aconselhável usar a segunda opção ao testar seu teste QTP. A menos que você queira os resultados de cada execução de teste, não escolha a primeira opção porque obviamente ela ocupará muito espaço.
# 5) Parâmetros de entrada: se os parâmetros de entrada de teste foram definidos para este teste, esta guia é o local onde você os fornece.
# 6) Você também pode executar alguns testes de uma vez em um lote. O QTP tem uma ferramenta “Batch Runner”. É também uma ferramenta externa, como uma “ferramenta codificadora de senha” que discutimos anteriormente.
# 7) Para lançar vá para “ Programas> QuickTest Professional> Ferramentas> Test Batch Runner ”. Crie um lote (.mtb) usando
# 8) Depois de criar uma lista, execute o lote usando ícone. Depois que a execução do lote for concluída, você pode ver os resultados de cada teste em sua pasta de resultados de teste padrão ( res # report )
Resultado dos testes
Em nossos artigos até agora, se estamos discutindo iteração da tabela de dados , postos de controle , identificação inteligente ou, em geral, a execução da etapa de teste, os resultados do teste são o local para ver se algo foi bem sucedido ou não.
Além do acima, os resultados do teste podem conter a captura de tela do seu AUT quando ocorre uma falha. Isso depende das configurações em ' Arquivo-> Configurações-> Executar ”.
O testador pode imprimir e exportar os resultados do teste.
com o que eu abro arquivos jar
Para tornar os resultados do teste mais compreensíveis, o usuário pode escrever seus comentários nos resultados do teste.
Por exemplo, se uma determinada condição falhar em seu teste, você pode querer escrever nos resultados do teste que “Não funcionou para o valor X”. Você pode fazer isso usando a instrução “reporter.reportevent”. O seguinte é a sintaxe:
Reporter.Reportevent (status do evento, nome da etapa do repórter, detalhes)
Status do evento: MicPass, MicFail, MicWarning, MicDetail, os próximos dois parâmetros podem ser qualquer texto que ajude a incluir mais detalhes.
Se esta é minha declaração e eu a executo:
repórter.ReportEvent micPass, 'Swati’s First Step', 'Aprovado porque eu disse para ele passar ...'
removendo um elemento de um array java
Os resultados do teste serão assim: (clique para ampliar a imagem)
Transações
Uma vez que este não é um recurso muito usado, farei uma introdução de alto nível aqui.
Normalmente, um teste é dividido em transações quando você precisa medir quanto tempo leva para executar uma determinada seção dele.
Também é usado quando um teste de QTP deve ser usado pelo Load Runner ou Business Process Monitor. Em qualquer um desses casos, seu teste deve ser registrado em termos de uma transação e qualquer coisa fora dela será ignorada.
Você pode iniciar uma transação do QTP usando ' Inserir-> Iniciar Transação ' . Dê um nome a ele, escolha se deseja antes ou depois da etapa atual e escolha OK.
Services.StartTransaction “TransactionTest” - É inserido. Agora vou registrar um login no Gmail.com.
Assim que terminar a gravação. Escolher ' Inserir-> Finalizar Transação ' . Clique OK.
Services.EndTransaction “TransactionTest” - é inserido.
Este é o código:
Agora vou fazer este teste. Vamos ver como são os resultados do teste. Os resultados mostrarão um resumo em termos do tempo necessário para concluir a transação.
Silent Test Runner
Outra ferramenta fornecida pelo QTP é o executor de teste silencioso. Isso permite que o testador execute seu teste sem ter que iniciar o QTP. Também ajuda a simular execuções de QTP a partir do load runner e verificar sua compatibilidade com o mesmo.
Não funcionará se o QTP já estiver aberto e outro teste estiver sendo executado por meio dele.
Usar Começar > Programas > QuickTest Professional > Ferramentas > Silent Test Runner comando de menu para invocá-lo. Selecione o teste e clique em “Executar teste”
Esta é a aparência durante a execução do teste:
Depois de concluído:
Registro de execução de teste:
O “Resumo da Transação” será ativado se o teste contiver pelo menos uma transação.
Agora chegamos ao final deste tutorial e cobrimos alguns tópicos diversos de QTP aqui. Espero que seja útil para todos vocês.
Fique à vontade para postar seus comentários e perguntas.
=> Visite aqui para a série de tutoriais de treinamento QTP
Leitura recomendada
- Repositório de objetos em QTP - Tutorial # 22
- QTP Tutorial # 7 - QTP's Object Identification Paradigma - Como o QTP identifica objetos de forma única?
- QTP Tutorial # 8 - Aprenda sobre os modos de gravação QTP, Object Spy e repositórios de objetos
- Parametrização em QTP (Parte 2) - QTP Tutorial # 20
- QTP Tutorial # 18 - Estruturas baseadas em dados e híbridas explicadas com exemplos de QTP
- Parametrização em QTP explicada com exemplos (Parte 1) - QTP Tutorial # 19
- Tutoriais QTP - 25+ Tutoriais de treinamento do Micro Focus Quick Test Professional (QTP)
- Tutorial QTP nº 6 - Compreendendo as configurações de registro e execução QTP para nosso primeiro teste