Automação de testes com Python

Gabriel Cartelli
CWI Software
Published in
3 min readJan 20, 2020

Este tutorial tem como objetivo explicar o uso básico de Selenium com Python para automação de testes. A estrutura utilizada é a de PageObjects com escrita de testes em Gherkin pelo framework Behave.

O projeto base está disponível para download no GitHub clicando aqui.

Veja também: Automação de Testes com Cypress

Configuração do Ambiente

1. Instale a versão atualizada do Python: acesse aqui.

Tenha certeza de que a instalação foi feita com sucesso verificando a versão do Python e do Pip:

2. Instale as dependências necessárias para o projeto de automação.

Execute no terminal os seguintes comandos:

pip install selenium
pip install behave
pip install nose

Uso básico do Selenium

Para entender melhor os comandos do Selenium, vamos executar um teste simples. Crie um arquivo basico_selenium.py e adicione o seguinte código:

Para rodar o teste, execute o arquivo pelo terminal:

python basico_selenium.py

Está pronto nosso primeiro teste automatizado com Python e Selenium utilizando os comandos mais comuns.

Utilizando o Behave

Behave é um framework que permite a escrita de testes automatizados em Gherkin no Python. Utilizaremos ele juntamente com o Selenium para estruturar nosso projeto.

Estrutura do projeto

Features: pasta que armazena os arquivos .feature utilizados para a escrita dos testes em Gherkin.

Pages: armazena os arquivos que contêm os seletores e os comandos executados em cada página.

Steps: armazena os arquivos com os steps do Gherkin. Responsável por conectar os steps escritos em Gherkin com o código das pages.

Browser.py: arquivo de configurações relacionadas ao browser.

Environment.py: arquivo de configurações relacionadas à execução dos testes.

Implementação:

1. Crie um arquivo chamado google.feature dentro da pasta features. Nele escreveremos nosso teste em Gherkin.

2. Execute no terminal o comando behave. Os steps digitados em Gherkin serão escritos em python. Basta copiar e colar dentro do arquivo google_steps.py, que deve ser criado dentro da pasta steps.

Assim deve ficar o arquivo google_steps.py:

3. Na raiz do projeto, crie um arquivo chamado browser.py, no qual colocaremos as configurações de nosso browser. Executaremos o teste no Chrome, mas o browser pode ser alterado no comando webdriver.Chrome() por outro como o Firefox, Safari ou IE.

Além disso, criaremos uma função para fechar o browser depois de todos os testes serem finalizados e outra função para limpar o browser entre cada cenário.

4. Também na raiz do projeto, crie o arquivo environment.py. Adicionaremos nele comandos para serem executados automaticamente antes (before_all) e depois (after_all) de todos os cenários e entre cada cenário (after_scenario).

5. Dentro da pasta page, crie o arquivo google_page.py. Colocaremos nele todos os comandos executados na página do Google e também os seletores.

6. Precisamos agora atualizar o google_steps.py, chamando as funções que criamos no google_page.py.

Execução do teste:

Finalizada a implementação, basta executar o código behave na raiz do projeto para rodar os testes.

O teste será executado e os resultados serão apresentados no próprio terminal.

Conclusão

O que foi exposto acima é o básico para implementar testes automatizados com Python. Entretanto, muitas outras funcionalidades são possíveis, como, por exemplo, o uso de tags e a criação de cenários de teste com exemplos. Aproveite para aprofundar seus estudos e aprimore cada vez mais os seus testes.

--

--