FrameworkDemoiselle.gov.brCommunity Documentation

Capítulo 11. Testes de Regressão de Layout

11.1. Conceito
11.2. Pré Requisitos
11.2.1. Java
11.2.2. Image Magick
11.2.3. Projeto dbehave
11.2.4. Maven
11.3. Configuração do Projeto dbehave
11.3.1. Configurações Básicas do pom.xml
11.3.2. Configurações do behave.properties
11.3.3. Repositório Local de Imagens
11.4. Pontos de Comparação
11.5. Rodando o Teste de Regressão
11.6. Relatório Gerado

Neste capítulo será apresentada a funcionalidade que permite a comparação de layout entre navegadores diferentes a partir de histórias desenvolvidas em projetos do dbehave.

Atenção

Esta funcionalidade está disponível a partir da versão 1.5.0 do dbehave.

A ideia principal da funcionalidade é permitir a equipe do projeto ter uma visibilidade, por meio de imagens e números, das diferenças de design entre os diversos navegadores que são, ou serão, suportados pelo sistema.

O processo de navegação no sistema deve ser feito por meio das histórias do dbehave, que em alguns casos já existem, e a partir de imagens capturadas durante o processo seja gerado um relatório ao final do teste, comparando os navegadores selecionados com um que deve ser o navegador de referência.

Para que o teste de regressão de layout funcione corretamente são necessárias algumas tecnologias durante o processo, seguem elas.

Esta sessão descreve como o projeto dbehave deve ser configurado para que o teste de regressão rode.

Para que as capturas de tela e relatório seja gerado são necessárias algumas configurações no behave.properties

Para que as novas frases de captura funcionem é necessário adicionar os passos ao dbehave por meio do seguinte comando:

BehaveContext.getInstance().addSteps(new RegressionSteps());

Para que as telas sejam capturadas basta utilizar uma das seguinte frases:

Quando tiro um print screen
Quando tiro um print screen com o nome "NOME DA CAPTURA QUE APARECERÁ NO RELATÓRIO"

Mostrar o comando maven e a saída do console e o relatório. O resultado final será criado na pasta /target/dbehave do seu projeto dbehave. É recomendado que sejam criados novos métodos JUnit com o seguinte código:

@Test // Anotação JUnit
public void testRegressaoLayout() throws Throwable {

    // Laço de repetição para testar com todos os navagedores
    for (String browser : RegressionConfig.getTypes()) {
        RegressionConfig.setCurrentType(browser);  // Seleciona o navegador atual

        eng.addStoriesReuse("/stories/XXXX.story"); // Histórias de reuso
        eng.addStories("/stories/XXXXX.story"); // Histórias que irão rodar

        eng.addSteps(new MySteps());  // Passos customizados
        eng.addSteps(new RegressionSteps()); // Passos de captura

        // Roda o teste para o navegador atual selecionado no setCurrentType
        eng.run();
    }

}

O relatório final será criado na pasta /target/dbehave do seu projeto dbehave e possuirá as seguintes características.