ScreenXOTE dos Milagres — Anexando Evidências de Testes Automatizados com RSpec

Do que adianta automatizar o testes se eu não consigo provar o que ocorreu durante a execução? Meus reports de testes estão todos verdes (passando) mas será que o cliente está mesmo confiando que as coisas estão funcionando? E quando meu teste automatizado falhar? vai ficar até vermelho no Report. Mas e a evidência?

Conhece o usuário São Tomé? Só acredito vendo… srsrs

Neste artigo, quero mostrar como implementar o processo de captura de evidência em um projeto de automação de testes construído com RSpec, Capybara e Allure Reports. Vamos começar?

1. Configurando o Allure Reports

Clone do projeto inicial:

git clone https://github.com/papitoio/screenxote_dos_milagres.git

Adicione “gem install allure-rspec” no Gemfile, em seguinda:

bundler install

Abra o arquivo spec_helper.rb e adicione o código:

spec_helper.rb

Na raiz do projeto, crie a estrutura de pastas log/reports:

Faça o include do Allure Adaptor dentro do RSpec Configure:

spec_helper.rb

Agora vamos configurar o Capybara para executar os testes com Chrome Headless:

Vamos usar o Mark7. Webapp que é utilizada no curso Automação do #ZERO pela QA Ninja.

2. Implementando os Exemplos de Testes

Dentro da pasta spec, crie um arquivo com o nome login_spec.rb. Em seguida, escreva dois exemplos de testes conforme o código abaixo:

login_spec.rb

Agora execute o rspec com saída no terminal e em formato de documentação:

rspec -fd

Veja que no resultado abaixo os dois exemplos passaram.

Legal. Já temos um projeto de testes automatizados funcionando.

Além disso perceba que dentro da pasta reports ja temos o relatório em XML que foi gerado pelo Allure.

Veja dentro da pasta reports. Uhullll

2. Anexando as evidências

Para anexar as evidências, iremos Hookar nossos cenários. Usaremos o After each do RSpec.

Vamos implementar o seguinte código:

Execute o teste novamente.

Agora temos as evidências no formato PNG dentro de /log/reports/screenshots:

3. Estado da arte. Gerando o Report em HTML

Até o momento, temos um projeto de automação, reports do Allure no formato XML e as evidências Hookadas para cada cenário.

Vamos usar o Allure Command Line. Uma ferramenta para gerar o relatório Allure no formato HTML. Você pode instalá-lo facilmente com NPM.

Pré-requisitos:

1- Instale o Nodejs
2- Java 8 ou superior. Sim, ele precisa do Java :(

Instalação do Allure Command Line via NPM:

npm install -g allure-commandline
Lembre-se que no Windows, será necessário abrir o terminal como Admin e no Linux ou Mac executar o NPM com sudo.

Para subir o servidor de relatórios, na pasta raiz do projeto, execute o seguinte comando:

allure serve /log/reports

O Allure deve inicializar o servidor de relatórios e abrir o endereço no seu navegador padrão conforme a imagem abaixo:

Agora temos um relatório com as evidências dos testes e tudo isso em Chrome Headless. Chique neh?

Quer saber mais sobre testes automatizados? Veja área de treinamentos em: http://qaninja.io/treinamentos

Enjoy

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.