Implementação de roteiro básico
Nessa seção será implementado um script de testes básico. O Probato adota uma estrutura modular que inclui scripts, procedures, page objects e test suites. Para exemplificar a automação de uma funcionalidade real, seguiremos com o desenvolvimento da automação da aplicação Probato Manager. O Probato Manager possui como tela principal a página de login, então partiremos desta funcionalidade para o desenvolvimento dos testes automatizados: Efetuar Login
Estrutura base da aplicação
Vamos partir do princípio que o projeto possui a seguinte estrutura abaixo:
probato-manager-automation/
├── src/
│ └── test/
│ ├── java/
│ | └── org.probato.manager.automation
│ | ├── model
│ | ├── page
│ | └── usecase
| └── resources/
│ ├── dataset/
│ ├── sql/
| └── configuration.yml
└── pom.xml
Implementando a classe Suite
- No pacote
org.probato.manager.usecase
vamos criar o novo pacoteUC01
. - No pacote
org.probato.manager.usecase.UC01
vamos criar a classeUC01_PerformLogin.java
. - Na classe
UC01_PerformLogin.java
vamos implementar o código abaixo.
Implementando a classe Script
- No pacote
org.probato.manager.usecase.UC01
vamos criar o novo pacotescript
. - No pacote
org.probato.manager.usecase.UC01.script
vamos criar a classeUC01TC01_PerformLoginSuccessfully.java
. - Na classe
UC01TC01_PerformLoginSuccessfully.java
vamos implementar o código abaixo.
Implementando Page Object
- No pacote
org.probato.manager.page
vamos criar a classeLoginPage.java
. - No pacote
org.probato.manager.page
vamos criar a classeDashboardPage.java
.
Criando arquivo dataset
- Na pasta
src/test/resources/dataset
vamos criar a nova pastaUC01
. - Na pasta
src/test/resources/dataset/UC01
vamos criar o arquivo chamadoUC01TC01.csv
. - No arquivo
UC01TC01.csv
vamos adicionar o conteúdo abaixo.
Implementando classe de mapeamento de entrada
- No pacote
org.probato.manager.automation.model
vamos criar a classeLoginPage.java
.LoginModel.java
Criando arquivos SQL
- Na pasta
src/test/resources/sql
vamos criar a nova pastainit
. - Na pasta
src/test/resources/sql
vamos criar a nova pastauser
. - Na pasta
src/test/resources/sql/init
vamos criar o arquivo chamadoinit.sql
. - Na pasta
src/test/resources/sql/user
vamos criar o arquivo chamadoinsert-user.sql
. - No arquivo
init.sql
vamos adicionar o conteúdo abaixo.init.sql - No arquivo
insert-user.sql
vamos adicionar o conteúdo abaixo.
Considerações finais
Conseguimos implementar com sucesso um roteiro básico utilizando o Probato. Ao longo desta seção, foi possível demonstrar como o framework proporciona uma estrutura organizada e modular para a automação de testes, abrangendo desde a criação de Suites, Scripts, e Page Objects até a utilização de massas de dados e pré-condições com scripts SQL.
Este exemplo abordou a automação de um cenário fundamental: o login de um usuário na aplicação Probato Manager. A aplicação de práticas como a utilização do padrão Page Object, que facilita a manutenção e promove a reutilização de código, destacou-se como uma abordagem essencial para a construção de testes robustos e escaláveis.
Aprendizados e benefícios observados
- Modularidade e organização: A separação em pacotes e a utilização de annotations simplificam a organização do projeto e aumentam a clareza do fluxo de execução dos testes.
- Facilidade na configuração inicial: Com a estrutura bem definida, a criação de novos testes e o gerenciamento de massas de dados tornam-se intuitivos.
- Integração com dados e banco de dados: O uso de datasets e scripts SQL facilita a preparação do estado inicial da aplicação, garantindo a consistência dos testes.
- Padronização: A adoção de convenções no design de Suites, Scripts, e Pages promove a padronização e reduz a curva de aprendizado para novos integrantes na equipe.
Checklist Final
Antes de finalizar a implementação de um roteiro básico no Probato, verifique os seguintes pontos para garantir que tudo está corretamente configurado e funcional:
- ✅ Classes de Suite e Script implementadas com as annotations adequadas.
- ✅ Classes de Page Object criadas, com elementos mapeados e métodos funcionando conforme esperado.
- ✅ Arquivos de dataset criados, contendo os dados necessários para os testes.
- ✅ Scripts SQL de pré-condição configurados corretamente, garantindo o estado inicial da aplicação.
🎉 Seu projeto está pronto para continuar a automação de testes com o Probato!
Pronto para continuar?
Siga para o próximo capítulo: Execução e Análise de Resultados.