Automação de testes com Python
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.