O boilerplate Java para automação de testes de aplicações web contém um conjunto inicial de recursos que possibilitam um rápido e simplificado início de construção de testes automatizados utilizando a proposta "DB" do modelo PageObject.
- Java SE Development Kit 11 ou superior
O workspace contém a seguinte estrutura:
.
├── gradle
└── src
├── main
│ ├── java
│ │ ├── app
│ │ └── framework
│ └── resources
└── test
├── java
│ ├── pageobjects
│ ├── tasks
│ ├── testcases
│ └── validations
└── resources
gradle
- Local da distribuição Gradle em utilização no projeto (Gradle Wrapper)src
- Local dos arquivos de código fonte da codebasemain
- Local que centraliza a parte da codebase a ser executada em formato de aplicação convencional (Java ou outras)java/app
- Local do web server que provê uma aplicação web + API de exemplo (cujos arquivos HTML, JavaScript, CSS e API JSON estão emmain/resources/app
)java/framework
- Local da parte base do framework para automação de testesresources
- Local de arquivos utilitários (ex.: arquivos da aplicação web + API de exemplo, arquivos de dados, arquivos de propriedades para a aplicação)
test
- Local que centraliza a parte da codebase a ser executada em formato de testes (Java ou outras, via frameworks como por exemplo JUnit)java/pageobjects
- Local complementar ao framework para automação de testes que possui as classes que representam as páginas da aplicação web alvo (ex.: aplicação provida pelo web server emmain/java/app
)java/tasks
- Local complementar ao framework para automação de testes que possui as classes que representam as ações de alto nível a serem efetuadas nas páginas da aplicação web alvo viatest/java/pageobjects
java/testcases
- Local complementar ao framework para automação de testes que possui as classes que representam os casos de teste de fato, executados através do uso conjunto detest/java/pageobjects
,test/java/tasks
etest/java/validations
java/validations
- Local complementar ao framework para automação de testes que possui as classes que representam as "assertions" (verificações de resultados)resources
- Local de arquivos utilitários para os testes (ex.: arquivos de dados, output padrão de relatórios de execução de testes, arquivos de propriedades para os testes)
Note
As pastas intermediárias java
contidas em main
e test
tem propósito de centralizar os arquivos Java. Essa convenção ajuda na organização do código e é flexível para suportar outras linguagens (Gradle suporta ambientes multi-linguagem). Se houvessem também arquivos em uma linguagem diferente, como por exemplo Kotlin, também poderia haver uma pasta correspondente (ex.: kotlin
).
Executar o arquivo gradlew
(Gradle Wrapper) para atualizar (sincronizar) as dependências configuradas no projeto
./gradlew --refresh-dependencies
Executar o arquivo gradlew
(Gradle Wrapper) usando a task run
./gradlew run
Executar o arquivo gradlew
(Gradle Wrapper) para atualizar (sincronizar) as dependências configuradas no projeto
./gradlew --refresh-dependencies
Executar o arquivo gradlew
(Gradle Wrapper) usando a task test
./gradlew test