wiki:ExpressoTestCenter/auto

Version 11 (modified by viani, 3 years ago) (diff)

--

Testes Automatizados

Introdução

Essa página tem por objetivo auxiliar novos desenvolvedores interessados em criar testes automatizados para o Expresso. É recomendável que as pessoas tenham conhecimento de Java para poder automatizar os casos de teste.

Apesar de não entrarmos em detalhes sobre como funciona o Maven, TestNG e Selenium, segue uma rápida introdução ao assunto:

Para se aprofundar no assunto, sugiro ler os links contidos ao final da página.

É extremamente importante seguir o padrão para o desenvolvimento dos casos de teste:

A documentação base dos casos de teste a serem automatizados está contida no Testlink  http://testlink.expressolivre.org.

Pré-Requisitos

As instruções abaixo foram baseadas nos seguintes softwares:

  • Sistema operacional Ubuntu 10.10
  • Sun JDK 6
  • Eclipse WTP
  • Firefox
  • Selenium
  • Maven
  • TestNG

Como Java é independente de plataforma, acredito que não seja problema realizar a instalação em outros ambientes.

As versões dos softwares mencionadas são da época da escrita desse tutorial (Fevereiro de 2011).

Montando o Ambiente de Desenvolvimento

Sun Java 6 SDK

Os seguintes passos foram necessários para a instalação do ambiente de desenvolvimento Java 6 no Ubuntu 10.10 (Maverick):

  1. Abrir o synaptic
  2. Ir em Settings->Repositoty
  3. Abrir aba Other Software
  4. Selecionar Canonical Parterns (não precisa selecionar o Source Code)
  5. Fazer um reload para recarregar os novos pacotes
  6. Procurar e instalar o pacote "sun-java6-jdk" e todas suas dependências

Eclipse WTP

Baixar o Eclipse WTP de Baixar  Eclipse 3.6.1 e descompactar o arquivo no diretório desejado.

Após descompactar o arquivo iniciar o eclipse e adicionar os seguintes plugins:

A instalação dos plugins no eclipse é feita através do menu Help -> Install New Software... Para maiores detalhes, favor consultar a documentação do Eclipse.

Depois de concluir a instalação dos plugins, é necessário ainda instalar um pacote do Ubuntu para integração java-subversion. Isso pode ser feito usando o comando abaixo:

sudo apt-get install libsvn-java

Quando o pacote tiver sido instalado, deve-se editar o arquivo eclipse.ini e adicionar a seguinte linha logo após -vmargs

-Djava.library.path=/usr/lib/jni

Plugins do Firefox

Os seguintes plugins devem ser instalados para facilitar o desenvolvimento de testes automatizados utilizando o navegador Firefox:

Baixando o Código Fonte

Criar um novo projeto no Eclipse (File->New->Project...):

Criar uma nova localização do repositório:

Entrar com a localização do repositório da comunidade:

Selecionar a pasta que contém o projeto com os testes automatizados:

Após clicar em Finish, o Eclipse deverá se conectar ao repositório da comunidade para baixar automaticamente a revisão mais recente do código. O projeto Expresso Automation2.0 será criado automaticamente e estará pronto para o desenvolvimento.

Testando o Ambiente

Ajustando as Configurações

O primeiro passo antes de tentar rodar um caso de teste para verificar se o ambiente de desenvolvimento foi corretamente configurado é alterar o arquivo config.properties que se encontra no pacote org.expressolivre.cte.common.

Deve-se entrar com a URL do Expresso dedicado aos testes automatizados, bem como o usuário e senha. Exemplo:

url=https://cte.serpro.gov.br
user=joao.silva
passwd=s3nh4

Além disso, ainda no mesmo arquivo, deve-se determinar qual a configuração de preferências será utilizada para rodar os testes:

config.email=email.preferences_cte.properties

Os arquivos de configuração das preferências dos módulos também se encontram em org.expressolivre.cte.common.

Ainda em config.properties tem parâmetros adicionais que devem ser editados para o correto funcionamento dos testes automatizados. São eles:

# Email que será utilizado para receber as mensagens enviadas pelos casos de teste
email.teste.1=teste.cte@cte.serpro.gov.br
# Email que será utilizado para receber as mensagens enviadas pelos casos de teste de cópia, cópia oculta
email.teste.2=teste2.cte@cte.serpro.gov.br
# Email que será utilizado para receber as mensagens enviadas pelos casos de teste de cópia, cópia oculta
email.teste.3=teste3.cte@cte.serpro.gov.br
# Email que será utilizado para receber as mensagens enviadas pelos casos de teste de para envio de múltiplos destinatários
email.teste.multiplos=teste2.cte@cte.serpro.gov.br, teste3.cte@cte.serpro.gov.br
# Arquivo utilizado pelo caso de teste enviar com anexo. O arquivo deve existir na máquina que está rodando os casos de teste automatizados
anexo.1=/home/luiz/Desktop/arquivo.txt
# Arquivo utilizado pelo caso de teste enviar com múltiplos anexos. O arquivo deve existir na máquina que está rodando os casos de teste automatizados
anexo.2=/home/luiz/Desktop/arquivo2.txt

Executando um Caso de Teste

Para rodar um caso de teste automatizado após ter feito o ajuste dos arquivos de configurações, basta escolher a classe que implementa o caso de teste e rodar com o TestNG. Exemplo:

Se tudo estiver certo, o teste será executado com as configurações informadas.

Referências


Última atualização: 25-Jul-2011

Attachments