Este projeto utiliza Selenium WebDriver para automatizar testes de submissão de formulários. A estrutura é organizada em classes que representam as páginas e passos de teste, integradas com Cucumber para a definição dos cenários de teste de forma legível e comportamental (BDD). 📝
O projeto cobre diferentes funcionalidades do formulário, tais como:
- 🖋️ Preenchimento de campos de texto e senha
- 🗂️ Seleção de itens de um dropdown (datalist)
- ☑️ Manipulação de checkboxes
- 🚀 Submissão do formulário
- 🔄 Navegação entre páginas
A BasePage serve como classe base para outras páginas. Contém métodos reutilizáveis para interações com a página, como:
- ⏳ Esperar que um elemento esteja visível
- ✍️ Preencher campos de entrada (inputs)
- 🖱️ Clicar em elementos
A FormPage representa a página de formulário e contém localizadores e métodos específicos para interagir com os elementos dessa página, como campos de texto, senha, dropdowns, checkboxes e botões. 📄
A classe FormSteps contém os passos de automação descritos em Gherkin, utilizados pelo Cucumber. Cada método corresponde a uma etapa de um cenário de teste:
- 🌐 Navegação para a página do formulário
- 📝 Preenchimento de campos de texto e senha
- 📤 Submissão do formulário
- ✅ Validação de mensagens de sucesso
A classe Hooks contém métodos que são executados antes e depois de cada cenário de teste:
- 🚗 Inicializa o WebDriver antes dos testes
- 🛑 Encerra o WebDriver ao final dos testes
A classe Setup é responsável por configurar e gerenciar a instância do WebDriver, utilizando o navegador Google Chrome. Ela contém métodos para:
- ⚙️ Inicializar o WebDriver com as opções configuradas
- ❌ Encerrar o WebDriver após os testes
Os cenários de teste são definidos em linguagem Gherkin, facilitando a compreensão e a automação. Alguns dos cenários cobertos incluem:
- Dado que estou na página do formulário
- Quando preencho o campo de texto e senha com os valores fornecidos
- E submeto o formulário
- Então devo ver uma mensagem de sucesso 🎉
- Dado que estou na página do formulário
- Quando deixo o campo de texto e senha vazios
- E submeto o formulário
- Então devo ver uma mensagem de sucesso 🆗
- Dado que estou na página do formulário
- Quando clico no link para retornar à página de index
- Então devo ser redirecionado para a página de index 🔙
- Dado que estou na página do formulário
- Quando seleciono um item no dropdown
- E submeto o formulário
- Então devo ver uma mensagem de sucesso 📥
- Dado que estou na página do formulário
- Quando marco as duas checkboxes
- E submeto o formulário
- Então devo ver uma mensagem de sucesso ☑️
- Java ☕ para a implementação da lógica de automação
- Selenium WebDriver 🌐 para controle do navegador
- Cucumber 🥒 para a definição dos cenários de teste em Gherkin
- ChromeDriver para a interação com o navegador Google Chrome
- Clone o repositório do projeto:
git clone https://github.com/laiscrz/selenium-webform-tester.git
- Certifique-se de ter o Java e o Maven instalados.
- Execute o comando:
para rodar todos os testes automatizados.
mvn test
Este projeto exemplifica uma abordagem simples e eficaz para a automação de testes de formulários web com Selenium, utilizando uma arquitetura organizada e baseada em boas práticas de automação de testes.