guide generate extent reports selenium webdriver
Como gerar relatórios de extensão no Selenium WebDriver:
O Selenium fornece relatórios embutidos usando estruturas como JUnit e TestNG.
Embora os relatórios integrados forneçam informações sobre as etapas que são executadas como parte do caso de teste, eles precisam de mais customização para serem compartilhados com todas as principais partes interessadas do projeto.
Extent Reports é um relatório HTML personalizável desenvolvido pela Anshoo Arora que pode ser integrado ao Selenium WebDriver usando estruturas JUnit e TestNG.
Este tutorial fornecerá um guia passo a passo completo sobre como gerar Relatórios Extent no Selenium WebDrive com códigos de exemplo.
Abaixo está o instantâneo do relatório integrado fornecido pela estrutura TestNG:
Os relatórios de extensão oferecem várias vantagens quando comparados aos relatórios integrados que são gerados por meio de JUnit e TestNG, como representação em gráfico de pizza, geração de relatório passo a passo de teste, adição de capturas de tela, etc., em cada etapa de teste e uma interface de usuário apresentável que pode ser compartilhada com todas as partes interessadas do projeto.
Abaixo está o instantâneo de um relatório de extensão de amostra na representação de gráfico de pizza
(Observação:Clique em qualquer imagem para ampliá-la)
O que você aprenderá:
- Vantagens de usar relatórios Extent
- Usando relatórios Extent no Selenium Webdriver
- Código de amostra para relatórios Extent
- Relatório de resumo de teste
- Relatório gráfico de gráfico de pizza
- Captura de tela em relatórios de extensão
- Conclusão
- Leitura recomendada
Vantagens de usar relatórios Extent
Existem várias vantagens dos Relatórios de Extensão e algumas delas são discutidas abaixo.
- Relatório HTML personalizável com representação passo a passo e gráfico de pizza.
- Exibe o tempo gasto para a execução do caso de teste no relatório.
- Cada etapa do teste pode ser associada a uma captura de tela.
- Várias execuções de casos de teste dentro de um único pacote podem ser rastreadas facilmente.
- Pode ser facilmente integrado com as estruturas TestNG e JUnit.
Usando relatórios Extent no Selenium Webdriver
Os relatórios de extensão contêm duas classes principais que são usadas com freqüência.
- Classe ExtentReports
- Classe ExtentTest
Sintaxe:
Relatórios ExtentReports = novo ExtentReports (“Caminho do diretório para armazenar o arquivo HTML resultante”, verdadeiro / falso);
como configurar a grade de selênio
ExtentTest test = reports.startTest (“TestName”);
A classe Extent Reports é usada para gerar um relatório HTML no caminho especificado pelo usuário. O sinalizador booleano indica se o relatório existente precisa ser sobrescrito ou se um novo relatório precisa ser criado. O valor ‘true’ é o valor padrão, o que significa que todos os dados existentes serão substituídos.
A classe Extent Test é usada para registrar etapas de teste no relatório HTML gerado.
As classes acima podem ser usadas com os métodos embutidos usados com freqüência que são declarados abaixo.
- startTest
- endTest
- Registro
- rubor
Os métodos startTest e endTest são usados para executar pré-condições e pós-condições de um caso de teste, enquanto o método de log é usado para registrar o status de cada etapa do teste no relatório HTML resultante. O método Flush é usado para apagar todos os dados anteriores do relatório e criar um novo relatório.
O status do teste pode ser qualquer um dos seguintes valores:
- PASSAR
- FALHOU
- PULAR
- INFO
Sintaxe:
reports.endTest ();
test.log (LogStatus.PASS, ”Teste aprovado”);
test.log (LogStatus.FAIL, ”Teste falhou”);
test.log (LogStatus.SKIP, ”Teste ignorado”);
test.log (LogStatus.INFO, ”Test Info”);
O método de log leva em dois parâmetros, o primeiro parâmetro é o status do teste e o segundo parâmetro é a mensagem a ser impressa no relatório resultante.
Código de amostra para relatórios Extent
A seguir mencionada está a sequência de etapas para usar Relatórios Extent no Selenium Webdriver no Junit.
Passo 1:
Os relatórios de extensão podem ser usados diretamente no selenium WebDriver importando o arquivo JAR - Extentreports-java-2.41.2.jar que pode ser baixado aqui .
Depois que o arquivo ZIP for baixado, extraia o conteúdo do arquivo ZIP em uma pasta.
Passo 2:
Adicione os arquivos jar presentes no arquivo ZIP ao caminho de construção do projeto usando a opção Caminho de construção -> Configurar caminho de construção.
Etapa 3:
Crie uma nova classe JAVA com o código abaixo para Relatórios Extent.
package com.objectrepository.demo; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import com.relevantcodes.extentreports.ExtentReports; import com.relevantcodes.extentreports.ExtentTest; import com.relevantcodes.extentreports.LogStatus; public class ExtentDemo { static ExtentTest test; static ExtentReports report; @BeforeClass public static void startTest() { report = new ExtentReports(System.getProperty('user.dir')+'\ExtentReportResults.html'); test = report.startTest('ExtentDemo'); } @Test public void extentReportsDemo() { System.setProperty('webdriver.chrome.driver', 'D:\SubmittalExchange_TFS\QA\Automationrdparty\chrome\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.get('https://www.google.co.in'); if(driver.getTitle().equals('Google')) { test.log(LogStatus.PASS, 'Navigated to the specified URL'); } else { test.log(LogStatus.FAIL, 'Test Failed'); } } @AfterClass public static void endTest() { report.endTest(test); report.flush(); } }
Explicação do código
@Antes da aula:
perguntas da entrevista do engenheiro qa respostas pdf
O código acima demonstra o uso de relatórios de extensão. A execução do caso de teste começa com o método startTest, que envolve a inicialização do objeto Extent Reports. O parâmetro passado para o objeto Extent Reports pode ser qualquer caminho válido definido pelo usuário.
Para simplificar, o exemplo usa o diretório do projeto atual para gerar o relatório HTML resultante. A próxima instrução envolve a inicialização do objeto ExtentTest com o valor de retorno do método startTest.
@Teste:
A aula de teste inclui as seguintes etapas:
- Abra o navegador Chrome com este url https://www.google.com
- Valide o título da página com o valor esperado assim que a página for aberta.
- Registre o status do caso de teste como PASSA / FALHA usando o método de registro de Relatórios Extent.
@Depois da aula:
Depois da classe, inclui o código para executar as pós-condições do caso de teste, como encerrar o teste usando o método endTest e liberar o relatório. Observe que o relatório não será gerado se o método flush () não for usado.
T é relatório resumido
Relatório gráfico de gráfico de pizza
Captura de tela em relatórios de extensão
A captura de tela junto com a execução do teste ajudará o testador a depurar o script de teste se houver problemas durante a execução do teste. No entanto, é aconselhável captura de tela somente se uma etapa de teste falhar, pois as imagens consumirão mais memória se forem capturadas em cada etapa de teste.
Capturas de tela podem ser capturadas para cada etapa com falha usando o código abaixo.
test.log(LogStatus.FAIL,test.addScreenCapture(capture(driver))+ 'Test Failed'); public static String capture(WebDriver driver) throws IOException { File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); File Dest = new File('src/../ErrImages/' + System.currentTimeMillis() + '.png'); String errflpath = Dest.getAbsolutePath(); FileUtils.copyFile(scrFile, Dest); return errflpath; }
Explicação do código
world of warcraft melhor servidor privado
Método de captura:
# 1) O método getScreenShotAs () é usado para capturar a imagem da instância atual do WebDriver e armazená-la em vários formulários de saída.
Arquivo scrFile = (driver (TakesScreenshot)) .getScreenshotAs (OutputType.FILE);
#dois) O método getScreenShotAs retorna um objeto de arquivo que precisa ser armazenado em uma variável de arquivo. Observe que a conversão da instância do driver da web para Take Screenshot é obrigatória se você deseja usar o método.
# 3) Arquivo Dest = novo arquivo (“src /../ ErrImages /” + System.currentTimeMillis () + “.png”);
# 4) A declaração acima cria uma pasta chamada ‘ErrImages’ dentro da pasta ‘src’ e armazena o nome do arquivo como a hora atual do sistema.
# 5) String errflpath = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, Dest);
returnerrflpath;
# 6) As instruções acima copiam as imagens de erro para a pasta de destino.
Método de registro:
O método de log usa o método integrado, addScreenCapture da classe Extent Test para obter a captura de tela e anexá-la ao Relatório de Extensão.
test.log (LogStatus.FAIL, test.addScreenCapture (captura (driver)) + “Teste falhou”);
A mensagem gravada no método de registro pode incluir mensagem detalhada, incluindo resultados esperados e reais para fins de depuração.
Resultado:
Conclusão
Os Relatórios Extent são uma das melhores maneiras integradas de gerar relatórios HTML personalizáveis com uma interface de usuário agradável no driver da web Selenium.
É uma biblioteca de código aberto que pode ser facilmente configurada com Selenium, tornando-a a melhor escolha para testadores de automação.
Espero que você tenha uma ideia clara sobre os Relatórios de Extensão agora.
Leitura recomendada
- Tutorial Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Introdução ao Selenium WebDriver - Selenium Tutorial # 8
- Implementação do nosso primeiro script WebDriver - Selenium WebDriver Tutorial # 10
- Selenium FAQs
- Como lidar com alertas / pop-ups no Selenium WebDriver - Tutorial do Selenium nº 16
- Espera implícita e explícita no Selenium WebDriver (tipos de esperas de selênio)
- Como executar o Selenium WebDriver em diferentes navegadores populares
- Configuração e instalação completas do WebDriver com Eclipse - Selenium Tutorial # 9