Pular para o conteúdo principal

Relatório Cronológico

wdio-timeline-reporter é um pacote de terceiros, para mais informações consulte GitHub | npm

Uma solução completa de relatório para WebdriverIO para uma visualização agregada dos seus resultados de teste porque "Ver para crer"

example.png

Por quê​

Porque gastamos muito tempo depurando testes com falha, alternando entre a saída do terminal e visualizando capturas de tela de erro, etc. Este relator agrega todas as informações típicas que você precisará em um relatório. Execute testes e tenha uma boa linha do tempo de eventos que você pode consultar para verificar se tudo parece OK.

Os recursos incluem:​

  • Funciona muito bem com frameworks Mocha e Jasmine. Também funciona com Cucumber, mas cada etapa será relatada como um teste
  • Resumo claro dos resultados de teste.
  • Detalhes de cada execução de teste, incluindo todas as capturas de tela capturadas durante a execução do teste.
  • Filtragem de resultados de teste. Ótimo para focar em testes que falharam
  • Rastreamento de pilha de erros anexado ao teste.
  • Capacidade de adicionar informações adicionais ao teste em tempo de execução.
  • Não é necessário pós-processamento. Ao concluir o processo de teste wdio, um arquivo de relatório html estático será gerado.
  • Serviço de linha do tempo para gerenciar a captura de screenshots, incluindo o redimensionamento das imagens.

Um exemplo de relatório html pode ser encontrado aqui

Instruções sobre como instalar o WebdriverIO podem ser encontradas aqui.

Instalação​

PARA VERSÃO COMPATÍVEL COM WEBDRIVERIO V4 VEJA AQUI

npm install --save wdio-timeline-reporter

Uma dependência será adicionada ao seu package.json

{
"dependencies": {
"wdio-timeline-reporter": "^5.1.0"
}
}

Uso​

Adicione timeline ao array de relatores em seu arquivo de configuração wdio.

Também importe e adicione TimelineService de wdio-timeline-reporter.

O serviço é obrigatório para combinar relatórios e criar html, pois os relatores agora são inicializados por instância de executor no webdriverio 5. Veja a discussão aberta no webdriverio

O TimelineService também pode gerenciar a captura de screenshots durante a execução dos testes. Você tem a opção de reduzir o tamanho e a qualidade das imagens e incorporar as imagens no relatório como base64. Estes são configuráveis usando as opções do repórter.

// wdio.conf.js
const { TimelineService } = require('wdio-timeline-reporter/timeline-service');
exports.config = {
// ...
reporters: [['timeline', { outputDir: './desired_location' }]],
// ...
services: [[TimelineService]]
};

Opções do Repórter​

Se você deseja substituir a configuração padrão do repórter, adicione um objeto literal reporterOptions ao array timeline em reporters, conforme mostrado abaixo.

reporter-options.png

índicedescrição
1.Diretório onde o arquivo html e as capturas de tela serão criados. Opção obrigatória
2.Nome do arquivo de relatório html. O valor padrão é timeline-report.html
3.Incorporar imagens como base64 no arquivo html. O valor padrão é false
4.Opções de objeto para manipulação de imagem
5.Definir qualidade JPEG. Relevante apenas se a opção resize for true. Quanto menor o valor, menor será o tamanho e a qualidade da imagem. O valor padrão é 70. O valor máximo permitido é 100
6.Redimensionar imagem. O valor padrão é false
7.valor para diminuir o número total de pixels. Relevante apenas se a opção resize for verdadeira. O padrão é 1 Valores válidos 1 - 5
8.com que frequência tirar capturas de tela. Os valores suportados são on:error, before:click, none. O padrão é none. before:click é uma ótima opção para criar uma linha do tempo de capturas de tela do aplicativo em teste.

Adicionar informações adicionais ao contexto de teste​

É possível adicionar informações adicionais a um teste usando o método estático addContext. Isso pode ser útil para adicionar informações importantes que podem ajudar na depuração de testes com falha, por exemplo, um usuário criado durante a execução do teste com um nome de usuário dinâmico

Uso básico​

O método estático TimelineReporter.addContext aceita um parâmetro de string ou um objeto literal com duas propriedades title e value, por exemplo

{ title: 'sessionId', value: 'b59bb9ec-ab15-475e-9ce6-de8a14ca0cd3' }

o valor também pode ser um link

Exemplo Mocha​
const TimelineReporter = require('wdio-timeline-reporter').default;

describe('Suite', function() {
it('Test', function() {
// objeto literal como parâmetro
TimelineReporter.addContext({
title: 'Test User',
value: 'user id created during the test'
});

// valor como tag âncora
TimelineReporter.addContext({
title: 'Dynamic link',
value: '<a href="">Some important link related to test</a>'
});

// parâmetro string
TimelineReporter.addContext('This test might be flaky');
});
});

Agradecimento​

Gostaria de dar um agradecimento especial aos autores e mantenedores do wdio-json-reporter. Passar por sua solução v5 ajudou a acelerar meu trabalho

Welcome! How can I help?

WebdriverIO AI Copilot