Como gerar relatórios de extensão no Selenium

Publicados: 2021-06-21

A biblioteca de código aberto usada para automação de testes em selênio é ExtentReports. Estruturas de teste; NUnit, JUnit, etc podem ser integrados com a biblioteca. Relatórios embutidos são criados em selênio por meio das estruturas de TestNG e JUnit, mas os relatórios de extensão ainda são a primeira escolha dos testadores de automação de selênio. Os relatórios de extensão no selenium fornecem mais informações sobre a execução dos scripts de automação. Os resultados são representados como gráficos de pizza e são basicamente documentos HTML. São detalhes como os snapshots, e logs personalizados podem ser gerados através da biblioteca.

Após a execução bem-sucedida de um teste automatizado, um relatório de execução do teste deve ser gerado pelos testadores. Um relatório padrão é fornecido pelo TestNG, mas os detalhes não são fornecidos. Com a aplicabilidade da API ExtentReport, relatórios interativos podem ser gerados através de configurações simples. Frameworks de Java e .Net como JUnit, NUnit e TestNG, etc. são suportados pela biblioteca.

Dependência do maven do relatório de extensão

Fonte

Os relatórios de extensão de selênio consistem em duas classes:

Índice

1. Classe ExtentReports

O testador especifica um caminho e, com base no caminho especificado, os relatórios HTML são gerados a partir da classe ExtentReports. Ou há a geração de um novo relatório ou a substituição de um relatório existente. É decidido com base no valor booleano. O valor booleano padrão é “true”, o que significa que haverá substituição de todos os dados que existiam no passado.

2. Classe ExtentTest

As etapas de teste são registradas por meio da classe ExtentTest nos relatórios HTML gerados pelo método acima.

3. Extensão HtmlReporter

Um arquivo HTML é criado por esta classe.

As funções internas listadas podem ser usadas com as classes listadas abaixo.

  • startTest: As pré-condições de um caso no teste são executadas
  • endTest: As pós-condições de um caso no teste são executadas.
  • Método de log: O status de cada etapa do teste é registrado no relatório HTML gerado por meio do Log.
  • Flush: Um novo relatório é criado removendo os dados de um relatório anterior.

Os seguintes valores são usados ​​para indicar o status de um teste: PASS, SKIP, FAIL e INFO.

Como criar relatórios de extensão

Alguns pré-requisitos para gerar um relatório de extensão são:

  • Pré-instalação e configuração de Java.
  • A instalação do TestNG.
  • Download dos Jars do Extent Report (Versão 2.41.2).
  • Requisito de extension-config.xml que permite a configuração de relatório HTML.

As etapas básicas que devem ser seguidas para a geração de relatórios de extensão são:

  • Um projeto de teste deve ser criado.
  • A extensão do arquivo jar do relatório deve ser baixada.
  • O arquivo jar do relatório de extensão é adicionado ao projeto.
  • Uma classe implementada é criada.

Etapas para gerar um relatório de extensão

  • Os relatórios de extensão podem ser gerados no WebDriver do selenium através da importação de um arquivo jar que é extensionreports-java-2.41.2.jar. O conteúdo do arquivo jar deve ser extraído para um diretório assim que for baixado.
  • Arquivos Jar extraídos do arquivo ZIP baixado devem ser adicionados ao projeto de compilação. A opção Build Path -> Configure Build Path é usada.
  • Uma classe Java é recém-criada para a extensão relatada por meio do código a seguir.

Fonte

Explicação do código

Com o método startTest, a execução do teste começa. O objeto de relatórios de extensão é inicializado. O objeto de relatório de extensão usa qualquer caminho definido pelo usuário como um parâmetro passado para ele.

@beforeclass: O uso dos relatórios de extensão é demonstrado pelo código.

@test: As seguintes ações são automatizadas por meio desta classe:

  • Abertura do navegador chrome através do URL www.google.com .
  • O título da página deve ser validado com o valor esperado assim que for aberto.
  • O status do caso do teste deve ser registrado como PASS ou FAIL usando o método de registro de relatórios de extensão.

@afterclass: O código para a execução de um caso de pós-condições de teste está incluído nesta classe. Inclui o código para o término do teste ou liberação do relatório. Sem o uso do método flush(), os relatórios de extensão no selenium não serão gerados.

Capturar capturas de tela em Relatórios de extensão

1. Através do método de captura

  • Há vários benefícios em usar uma captura de tela durante o teste.
  • Se o software começar a agir incorretamente, os testadores poderão identificar o problema observando as capturas de tela.
  • Portanto, se a execução do teste encontrar algum problema, as capturas de tela permitirão que os testadores depurem o script de teste.
  • As capturas de tela devem ser capturadas apenas durante a falha de um teste, pois mais memória é consumida pelas capturas.
  • O código a seguir usado para capturar uma captura de tela é retirado de

Fonte

2. Explicação do código

  • O atual Selenium WebDriver é capturado como uma captura de tela através do método getScreenShotAs(). Ele é então armazenado em várias formas de saída.

Arquivo scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.File);

  • Um objeto do arquivo é retornado através do método getScreenShotAs e armazenado em uma variável do arquivo. Para usar esse método, é obrigatório converter a instância do driver da Web para fazer uma captura de tela.

Arquivo Dest = new File(“scr/../Errimages/” + System.currentTimeMillis()+ “.png”);

  • Uma pasta com o nome de “ErrImages” é criada dentro da pasta “src” através do código acima. O arquivo é salvo na pasta criada com o nome do arquivo conforme a hora do sistema atual.

String errflpath = Dest,getAbsolutePath();

Fileutils.copyFile(scrFile, Dest);

caminho de retorno;

  • As imagens de erro geradas são copiadas em uma pasta de destino.

3. Método de registro

  • Um método interno é usado no método de log. O addScreenCapture da classe Extent é usado para capturar uma captura de tela e, em seguida, anexado aos relatórios de extensão gerados.

test.log(LogStatus.Fail,test.addScreenCapture(captura(driver))+ “Teste falhou”);

Vantagens dos relatórios de extensão

  • O uso dos relatórios de extensão é fácil.
  • Os gráficos de pizza são usados ​​para exibir os resultados.
  • A porcentagem de um caso aprovado de um teste é fornecida.
  • A capacidade de adicionar os detalhes do ambiente de forma natural.
  • Comparado aos demais relatórios, o relatório de extensão oferece a possibilidade de customização.
  • Relatórios mais interativos podem ser gerados por meio da API de extensão. Os relatórios interativos podem estar na forma de visualização gráfica, captura de tela durante cada etapa de teste, visualização de painel e relatórios que podem ser enviados por e-mail.
  • A integração com as estruturas JUnit, TestNG e NUnit é possível.
  • A execução paralela de execuções de teste é possível com a geração de um único relatório para todas as execuções paralelas.
  • O relatório pode ser configurado.
  • Para a execução de cada caso de teste, o tempo gasto é exibido.
  • É possível rastrear facilmente as execuções de vários casos de teste em um único conjunto.
  • Com base nos relatórios do teste, os resultados podem ser filtrados. Além disso, os resultados passo a passo podem ser filtrados através das opções de aprovação/reprovação/informações.
  • Categorizações de relatórios são fornecidas para categorias como Regressão/funcional, etc.
  • Logs das etapas de teste podem ser adicionados aos relatórios.

Exemplo de Relatórios Extensivos em Selenium

Um exemplo é mostrado para permitir que você entenda o processo de geração do maven do relatório de extensão.

Passo 1 : Um projeto maven e uma classe devem ser criados BasicExtentReport.java com a adição de um código disponível aqui

  • Um arquivo HTML autônomo é gerado a partir da classe 'ExtentHtmlReporter'.
  • 'ExtentHtmlReporter(java.io.File)' é aceito por esta classe e o caminho 'ExtentHtmlReporter(java.lang.String filePath)'.
  • O caminho do arquivo é passado para salvar os relatórios.
  • O método config() da classe 'ExtentHtmlReporter' permite várias opções de configuração. Os itens podem ser alterados por meio do código para fazer alterações na aparência do relatório de extensão, incluindo carimbo de data/hora, nome do relatório etc.
  • O status de cada etapa do teste é informado pelo 'AfterMethod' e com isso o status do teste é atualizado como Aprovado, Reprovado, Pular, etc. Na ocorrência de algum erro, uma mensagem é gerada para fornecer as informações. Isso é feito através de 'result.getThrowable()'.
  • Os rótulos do status são criados usando a classe MarkupHelper que também colore o status do relatório.

Passo 2: A passagem do SO e dos parâmetros do navegador é feita através da criação de um arquivo testng.xml. O código está disponível no site mencionado.

Passo 3: Outro código é adicionado ao arquivo pom.cml.

Step4: Executar o programa gera o relatório resultante .

Fonte

Para visualizar os relatórios de falha, os testes com falha devem ser clicados. Isso exibirá o status do teste junto com o motivo da falha do teste.

Algumas coisas adicionais relacionadas aos relatórios de extensão são:

  • Por uma questão de aparência, o tema existente em um relatório pode ser alterado.
  • Conforme a conveniência do usuário, a visualização do painel pode ser ocultada ou exibida.
  • No caso de execução de vários testes, um caso de teste pode ser pesquisado passo a passo.
  • O tempo total gasto para executar o teste, incluindo a hora de início e a hora de término, é exibido ao usuário.
  • Filtros adicionais estão presentes em um relatório. Os resultados podem ser filtrados de acordo com o status dos testes, como testes aprovados, testes com falha ou casos de teste em que apenas informações estão presentes.

Aprenda cursos de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Conclusão

Para a geração de quaisquer relatórios personalizáveis, os relatórios de extensão são o melhor caminho. Por ser uma biblioteca de código aberto e de fácil configuração com selênio, os relatórios de extensão definitivamente se tornaram a melhor escolha para todos os testadores de automação. O artigo discutiu brevemente os relatórios de extensão, como gerá-los e sua utilidade. Os benefícios podem ser colhidos através do conhecimento da programação do software que é a base da geração dos relatórios de extensão.

Se você está disposto a aprender e explorar os benefícios da programação de software, confira o curso Executive PG Program in Software Development – ​​Specialization in Full Stack Development , oferecido pela upGrad . Este é um curso especialmente desenvolvido para profissionais iniciantes na faixa etária de 21 a 45 anos. Fornecendo uma plataforma para palestras on-line e sessões interativas com experiências práticas, o curso oferece garantia de colocação nas principais indústrias. Nossa equipe está à disposição para qualquer dúvida.

O que é um construtor de relatórios Selenium?

Selenium Report Builder ou Selenium IDE é um plugin do Firefox para Selenium que ajuda a criar e editar os casos de teste do Selenium. Torna o processo de automação mais eficiente e reduz o esforço necessário para criar diferentes relatórios. É uma maneira confortável de executar testes e fornece uma visão geral do status atual. Os relatórios são gerados em vários formatos, como texto, PDF, CSV, HTML etc.

O que pode ser testado automaticamente usando o Selenium?

O Selenium é uma ferramenta para automatizar aplicativos da Web para fins de teste e pode ser usado para testes de regressão. O Selenium pode automatizar qualquer coisa que um usuário possa fazer em um navegador. A maioria dos sites tem algum tipo de funcionalidade que torna mais fácil para seus funcionários realizarem tarefas como pedidos de estoque, processamento de pedidos, atualização do site, etc. O Selenium pode ser usado para testar aplicativos e sites baseados na web. É uma linguagem de alto nível que suporta várias linguagens de programação como JAVA e C#. O Selenium é usado para automatizar o navegador e fornece aos desenvolvedores de aplicativos da Web a capacidade de escrever testes automatizados para serem executados em aplicativos da Web.

O que é a grade de selênio?

O Selenium Grid é uma ferramenta que permite executar testes automatizados em vários navegadores (ou outros nós de grade). Ele permite a execução paralela desses testes com várias configurações (locais, navegadores, sistemas operacionais) e vários navegadores ao mesmo tempo. Os testes em si podem ser executados no modo headless para não exigir nenhuma GUI. O Grid oferece execução de trabalho assíncrona e é capaz de gerenciar centenas de trabalhos simultaneamente. A grade de selênio é, portanto, um modelo de hub e spoke para executar casos de teste. A grade permite que os usuários agrupem vários navegadores para executar um único caso de teste. Uma vez configurado, ele pode ser usado para executar testes em várias máquinas ou navegadores sob demanda ou em um agendamento. O Selenium Grid pode ser usado para paralelizar a execução de testes, dimensionar testes e aumentar a cobertura de testes.