Relatórios de testes automatizados com Allure Cucumber

Gabriel Cartelli
3 min readMar 15, 2021

Allure é um framework utilizado para gerar relatórios a partir da execução de testes automatizados. Essa ferramenta está disponível para diferentes tecnologias de automação de testes.

Neste caso, explicarei a configuração e o funcionamento em um projeto feito em Ruby com Capybara e Cucumber.

Pré-requisitos

  1. Instalar Node.js em sua máquina
  2. Instalar Java em sua máquina.
  3. Instalar o allure-commandline com o seguinte comando:
npm install -g allure-commandline

Configuração do projeto

1. Adicione a gem ‘allure-cucumber’ ao seu arquivo Gemfile.

2. Crie ou altere o seu arquivo cucumber.yml com os seguintes parâmetros

--format AllureCucumber::CucumberFormatter --out allure-results

O resultado final deve ser assim:

3. Adicione algumas configurações no arquivo env.rb:

No topo do arquivo:

require 'allure-cucumber'

Logo abaixo:

Allure.configure do |c|    c.results_directory = 'allure-results'    c.clean_results_directory = trueend

Em c.results_directory, configuramos a pasta em que os resultados devem ser salvos e, em c.clean_results_directory, escolhemos se os resultados devem ser limpos ou não a cada execução.

O resultado final deve ser assim:

Execução

1. Continue executando seus testes normalmente. Você perceberá que, depois da execução, serão criados os arquivos com os resultados do teste.

2. Para visualizar o resultado, basta executar o seguinte comando na raiz do projeto:

allure serve

O navegador Chrome será aberto e exibirá um relatório completo da execução do teste:

No topo, será possível visualizar dados gerais como a quantidade de testes que passaram ou que falharam.

Acessando a suíte de testes, você visualizará informações mais detalhadas de cada cenário, como quais steps passaram e quais tiveram alguma falha:

Incluindo Screenshots

Podemos aprimorar o relatório adicionando os screenshots gerados pelo nosso teste!

1. No arquivo hooks.rb, aprimore o código existente de screenshots para que associe a evidência com o teste executado. Adicione o seguinte trecho:

temp_shot = page.save_screenshot("screenshots/#{scenario.name}#{Time.now.to_s.gsub(':', '')}_screenshot.png")Allure.add_attachment(name: scenario.name, source: File.open(temp_shot, 'rb'), type: Allure::ContentType::PNG)

O resultado final deve ser assim:

2. Execute seus testes novamente provocando uma falha. Será possível perceber que o um screenshot do erro aparecerá na com os resultados do Allure.

3. Execute novamente o comando do allure para visualizar o relatório do teste. Agora você pode analisar o erro ocorrido e o screenshot salvo.

Conclusão:

Muitas outras configurações e integrações são possíveis com o Allure. Não deixe de explorar e estudar sempre!

Alguns links úteis:

--

--