Repórter.RelatarEvento em UFT/QTP com exemplo
⚡ Resumo Inteligente
Repórter.RelatarEvento em UFT/QTP Envia mensagens personalizadas de aprovação, reprovação, aviso e informativas diretamente para o Visualizador de Resultados da Execução usando as constantes de status micPass, micFail, micDone e micWarning, fornecendo aos testadores um registro legível e passo a passo do que um script automatizado realmente fez.

O que é Reporter.ReportEvent em UFT/QTP?
Repórter.ReportEvent é um método padrão incorporado em UFT/QTP (agora vendido como OpenText/Microfoco UFT Uma opção é escrever uma mensagem personalizada e legível diretamente na janela de resultados do teste. Ao contrário dos veredictos automáticos de aprovação ou reprovação gerados pelos pontos de verificação integrados, uma chamada ReportEvent permite que o testador decida exatamente o que será registrado, quando e como deve ser rotulado.
Este HP QTP tutorial demonstra o uso da função Repórter.ReportEvent e Formatação de resultadosO tutorial pede que você crie um pequeno script, e concluir esse exercício de script é a maneira mais rápida de ver os relatórios personalizados atualizarem a árvore de Resultados em tempo real.
Clique aqui. se o vídeo não estiver acessível
O Reporter.ReportEvent é crucial na automação porque um script geralmente é executado sem supervisão, de acordo com um agendamento ou dentro de um pipeline de CI/CD. O arquivo de resultados da execução se torna o único registro do que aconteceu, portanto, uma etapa que falha silenciosamente ou é aprovada sem explicação dificulta muito a depuração posterior. Adicionar uma chamada explícita a ReportEvent após uma ação crítica transforma a árvore de resultados em uma trilha de auditoria legível e passo a passo que um testador, desenvolvedor ou gerente pode revisar sem precisar abrir o próprio script.
Isso é diferente de um ponto de verificação de objeto, que UFT O Reporter.ReportEvent é gerado automaticamente e utiliza um nome de etapa padrão. Por outro lado, o Reporter.ReportEvent permite anexar uma linguagem mais relevante para o negócio, como "Confirmação do pedido exibida", em vez de um genérico "Check Point Pass no objeto WebEdit", o que facilita a leitura do relatório final por um usuário sem conhecimento técnico. O método funciona da mesma forma, independentemente de o script ser direcionado a uma página da web ou a um objeto WebEdit. Windows aplicativo de desktop ou terminal de mainframe, já que Reporter é um objeto global e não uma propriedade de um objeto de teste específico.
Guru99 de UFT/QTP A série aborda esse método logo em seguida. Declarações If, Else e Exists, porque a maioria das chamadas de Reporter.ReportEvent fica dentro de um bloco condicional que decide se o resultado deve ser relatado como micPass ou micFail.
Sintaxe do Reporter.ReportEvent e valores de EventStatus
Você pode usar Repórter.ReportEvent para relatar etapas de teste personalizadas no Micro Focus UFTA árvore de resultados de teste. O método aceita três argumentos obrigatórios e um argumento opcional, em uma ordem fixa, conforme mostrado abaixo.
Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath]
Status do evento Define o ícone e a cor exibidos para a etapa e pode inverter o status geral da execução; Nome da etapa do relatório é o rótulo curto que aparece na árvore de Resultados do Teste, geralmente escrito como o resultado esperado; Detalhes Contém a descrição mais longa, geralmente o resultado observado; e o opcional Caminho do arquivo de imagem Anexa uma captura de tela feita anteriormente no script àquela etapa específica.
| VALOR | CONSTANTE | EFEITO NOS RESULTADOS | EFEITO NO STATUS DE EXECUÇÃO |
|---|---|---|---|
| 0 | micPass | A etapa é exibida como "Aprovada" na árvore de resultados. | Sem alterações; o teste continua com aprovação. |
| 1 | Falha no microfone | A etapa é exibida como Falha na árvore de resultados. | O status geral da execução muda para Falha. |
| 2 | microfoneConcluído | A etapa é exibida como uma mensagem informativa. | Sem alteração no status de Aprovado/Reprovado |
| 3 | Aviso do microfone | A etapa é exibida como um aviso. | Sem alteração no status de Aprovado/Reprovado |
Cada constante também pode ser passada como seu valor numérico em vez de seu nome, então Repórter.RelatórioEvento 1, “Etapa”, “Detalhe” comporta-se exatamente como Reporter.ReportEvent micFail, “Step”, “Detail”Usar uma constante nomeada facilita a leitura em um script que outro testador irá manter posteriormente.
Um script geralmente aninha várias chamadas ReportEvent dentro de uma ação: uma entrada micDone antes do início da ação, uma entrada micPass ou micFail para a verificação da tecla e entradas micWarning adicionais para qualquer coisa incomum detectada durante o processo.
- Quando os casos de teste são executados usando ferramentas de automação, alguns usuários podem ter dificuldade em entender os resultados brutos dos testes. Você pode usar O arquivo results.xml cria um arquivo XSL que apresenta os resultados dos testes da maneira que você preferir..
- Você também pode usar VBScript funções de biblioteca para Armazene os resultados em um arquivo xls ou de texto. para reportar fora UFT.
Como usar o Reporter.ReportEvent: exemplos práticos
Conhecer a sintaxe é uma coisa; vê-la dentro de um script real é o que faz as quatro constantes de status fazerem sentido. O exemplo abaixo envolve uma verificação dentro de uma instrução If…Then…Else e, em seguida, reporta um resultado de aprovação ou reprovação com Reporter.ReportEvent, de modo que o resultado apareça na árvore de Resultados exatamente onde o revisor espera encontrá-lo.
If Browser("Guru99 Demo").Page("Guru99 Demo").WebButton("Login").Exist(5) Then Reporter.ReportEvent micPass, "Login button check", "Login button was found on the page" Else Reporter.ReportEvent micFail, "Login button check", "Login button was not found on the page" End If
Isso reflete o padrão mostrado em Guru99 de instruções condicionais em VBScript Neste tutorial, um bloco If…Then…Else escolhe entre dois resultados; a única diferença é que cada ramificação também chama Reporter.ReportEvent para registrar o resultado.
Uso microfoneConcluído para uma etapa que é puramente informativa, e Aviso do microfone Quando algo parece incomum, mas não deveria interromper a execução imediatamente. O próximo trecho de código registra uma etapa de entrada de dados como Concluída, sinaliza uma resposta lenta como um Aviso e anexa uma captura de tela usando o argumento opcional ImageFilePath.
Reporter.ReportEvent micDone, "Enter search text", "Typed 'UFT tutorial' into the search box" errorImage = "C:\Results\SearchDelay.png" Browser("Guru99 Demo").CaptureBitmap errorImage, True Reporter.ReportEvent micWarning, "Search response time", "Results took longer than 5 seconds to load", errorImage
Guarda Nome da etapa do relatório breve e mantenha Detalhes Seja específico quanto ao resultado real. Um revisor que analise centenas de etapas registradas após uma execução noturna com falha deve ser capaz de identificar o que aconteceu sem precisar abrir o próprio script, e um padrão de nomenclatura consistente em todas as ações torna essa análise muito mais rápida.
Equipes que chamam ReportEvent de vários scripts geralmente movem essa lógica para uma função VBScript compartilhada, como LogStep(status, name, details), para que cada script produza uma árvore de Resultados consistente sem repetir o mesmo bloco If…Then.
Propriedades do objeto Reporter: Filter, ReportPath e RunStatus
O objeto `Reporter.ReportEvent` não é o único membro da classe `Reporter`. Três propriedades adicionais oferecem maior controle sobre o conteúdo e o local dos resultados. UFT armazena-os e eles aparecem com frequência em estruturas de automação de produção.
| PROPRIEDADE | PROPÓSITO | USO TÍPICO |
|---|---|---|
| Filtrar | Controla quais tipos de eventos são gravados nos resultados. | Reporter.Filter = rfEnableErrorsAndWarnings oculta as etapas executadas em uma execução longa. |
| Caminho do relatório | Somente leitura; retorna a pasta onde os resultados da execução atual estão armazenados. | pastaResultados = Reporter.CaminhoDoRelatório |
| Status da execução | Somente leitura; retorna o status atual de Aprovado/Reprovado da execução até o momento. | Se Reporter.RunStatus = micFail Então Sair da Ação |
O Reporter.Filter aceita quatro valores: 0 ou rfEnableAll exibe todos os eventos e é o padrão; 1 ou rfEnableErrorsAndWarnings oculta as etapas concluídas; 2 ou rfEnableErrorsOnly oculta tanto as etapas concluídas quanto os avisos; e 3 ou rfDisableAll desativa completamente o registro de resultados. Verificar o Reporter.RunStatus no meio do script permite que um teste crie sua própria lógica, por exemplo, pulando uma etapa.ping As etapas restantes de uma ação, uma vez que uma etapa anterior já tenha falhado.
Como ReportPath e RunStatus são somente leitura, você não pode atribuir um valor a eles; use-os para ler informações sobre a execução atual, por exemplo, gravando o caminho da pasta de resultados em um arquivo de log no início de um script ou interrompendo uma ação longa após uma falha fatal. A leitura dessas propriedades adiciona uma sobrecarga insignificante, portanto, é seguro verificar Reporter.RunStatus após cada etapa importante em um longo conjunto de testes de regressão sem afetar o desempenho da execução de forma perceptível.
Melhores práticas para Reporter.ReportEvent em UFT
Alguns hábitos mantêm a geração de relatórios personalizados úteis em vez de ruidosos.
- Reserve o parâmetro micFail para falhas reais: Cada chamada micFail altera o Reporter.RunStatus, portanto, usá-la para problemas cosméticos oculta defeitos reais posteriormente na mesma execução.
- Escreva ReportStepName como o resultado esperado: O revisor deve entender a verificação apenas pelo nome da etapa, sem precisar ler a coluna Detalhes.
- Capturar capturas de tela somente em caso de falha: Passar o ImageFilePath em cada etapa preenche rapidamente a pasta de resultados e torna a execução mais lenta, com pouco benefício.
- Filtrar trechos ruidosos: Defina Reporter.Filter como rfEnableErrorsAndWarnings para execuções agendadas ou de CI, para que as etapas aprovadas não ocultem as falhas importantes.
- Centralizar a lógica: Envolva as chamadas Reporter.ReportEvent em um objeto reutilizável. açao ou biblioteca de funções para que cada script no conjunto registre os resultados da mesma maneira.
- Versão para leitores não técnicos: Combine o arquivo results.xml com um XSL personalizado quando as partes interessadas externas à equipe de controle de qualidade precisarem revisar os resultados sem precisar abri-los. UFT.
