Skip to content

Manual de Instalação e Configuração dbehave para Testes de Regressão em Layout

Julian Cesar edited this page May 26, 2015 · 31 revisions

Pré Requisitos

  1. Java
  2. Image Magick
  3. Projeto dbehave
  4. Maven

Java

É necessário ter o Java (JDK) instalado para que o processo funcione, normalmente as máquinas que já rodam o dbehave já possuem a versão necessária.

Para verificar se a JDK está instalada corretamente rode o seguinte comando:

java -version

A saída do console deverá ser parecida com esta:

java version "1.6.0_35"
OpenJDK Runtime Environment (IcedTea6 1.13.7) (6b35-1.13.7-1ubuntu0.12.04.2)
OpenJDK Server VM (build 23.25-b01, mixed mode)

Image Magick

Para que o processo de comparação dos layouts funcione corretamente é necessário que a biclioteca Image Magick (http://www.imagemagick.org) seja instalada.

A instalação desta biblioteca em muitas distribuições Linux, como a Ubuntu 12.04, pode ser feita através do seguinte comando:

sudo apt-get install imagemagick

Após a instalação acesse o Promp/Terminar do computador que irá rodar os testes e rode o seguinte comando

compare --version

E o resultado deverá ser algo como o seguinte texto:

Version: ImageMagick 6.9.0-0 Q16 i686 2014-11-24 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC OpenMP
Delegates (built-in): png x zlib

Projeto dbehave

O teste de regressão tem como pré requisito inicial um projeto dbehave já criado, caso ainda não tenha criado um basta seguir o Roteiro Rápido do manual no seguinte endereço:

http://demoiselle.sourceforge.net/docs/components/behave/reference/lastversion/html/behave-quickstart.html

Importante: esta funcionalidade só esta disponível na versão 1.5.0 ou mais recente.

Maven

Para que o teste rode corretamente é necessário que a máquina tenha instalado o Maven, para saber se ele esta funcionando corretamente rode o seguinte comando no prompt/terminal:

mvn --version

A saída do console deverá ser algo parecido com o seguinte:

Apache Maven 2.2.1 (rdebian-8)
Java version: 1.6.0_33
Java home: /usr/lib/jvm/java-6-serpro-1.6.0.33/jre
Default locale: pt_BR, platform encoding: UTF-8
OS name: "linux" version: "3.2.0-58-generic-pae" arch: "i386" Family: "unix"

Configuração do Projeto dbehave

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

Configurações Básicas do pom.xml

Esta funcionalidade possui basicamente 2 inclusões no pom.xml:

  1. Passos personalizados para capturar as telas a serem comparadas
  2. Plugin maven que faz as comparações e gera o relatório

Para adicionar os passos personalizados basta adicionar uma nova dependência ao pom.xml na tag dependencies como segue abaixo:

<dependency>
	<groupId>br.gov.frameworkdemoiselle.component.behave</groupId>
	<artifactId>demoiselle-behave-regression-step</artifactId>
	<scope>test</scope>
</dependency>

E a outra configuração é a inclusão do plugin maven dentro da tag build/plugins como abaixo:

<build>
	<plugins>
		<plugin>
			<groupId>br.gov.frameworkdemoiselle.component.behave</groupId>
			<artifactId>demoiselle-behave-regression-report</artifactId>
			<version>1.5.X</version>				
			<executions>
				<execution>
					<phase>test</phase>
					<goals>
						<goal>regression</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>

Observação: Altere 1.5.X para a versão corrente do dbehave

Configurações do behave.properties

Configurações Gerais
behave.regression.enabled=true
behave.regression.types=windows7_FF,windows7_Chrome,windows7_IE9
behave.regression.defaultType=windows7_FF

Configuração dos Navegadores

behave.regression.linux1204_Firefox.runner.screen.type=MozillaFirefox
behave.regression.linux1204_Firefox.runner.window.maximize.enabled=true

behave.regression.windows7_IE9.runner.screen.type=RemoteWeb
behave.regression.windows7_IE9.runner.window.maximize.enabled=true
behave.regression.windows7_IE9.runner.screen.remote.name=internetExplorer
behave.regression.windows7_IE9.runner.screen.remote.url=http://127.0.0.1:4449/wd/hub

behave.regression.windows7_Chrome.runner.screen.type=RemoteWeb
behave.regression.windows7_Chrome.runner.window.maximize.enabled=true
behave.regression.windows7_Chrome.runner.screen.remote.name=chrome
behave.regression.windows7_Chrome.runner.screen.remote.url=http://127.0.0.1:4449/wd/hub

behave.regression.windows7_IE11.runner.screen.type=RemoteWeb
behave.regression.windows7_IE11.runner.window.maximize.enabled=true
behave.regression.windows7_IE11.runner.screen.remote.name=internetExplorer
behave.regression.windows7_IE11.runner.screen.remote.url=http://127.0.0.1:44411/wd/hub

behave.regression.windows7_IE10.runner.screen.type=RemoteWeb
behave.regression.windows7_IE10.runner.window.maximize.enabled=true
behave.regression.windows7_IE10.runner.screen.remote.name=internetExplorer
behave.regression.windows7_IE10.runner.screen.remote.url=http://127.0.0.1:44410/wd/hub

behave.regression.windows7_FF.runner.screen.type=RemoteWeb
behave.regression.windows7_FF.runner.window.maximize.enabled=true
behave.regression.windows7_FF.runner.screen.remote.name=firefox
behave.regression.windows7_FF.runner.screen.remote.url=http://127.0.0.1:44410/wd/hub
Repositório Local de Imagens
behave.regression.type=local
behave.regression.url=ftp://10.200.232.34/
behave.regression.user=guest
behave.regression.password=guest
Repositório FTP de Imagens

Adicionando os pontos de comparação

Quando tiro um print screen

Rodando o Teste de Regressão

Mostrar o comando maven e a saída do console e o relatório.