Skip to content

dbserver/boilerplate-automacao-web-java

Repository files navigation

Logo

Boilerplate Java para Automação de Testes de Aplicações Web

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.

Getting started

Pré-requisitos

Workspace

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 codebase
    • main - 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 em main/resources/app)
      • java/framework - Local da parte base do framework para automação de testes
      • resources - 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 em main/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 via test/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 de test/java/pageobjects, test/java/tasks e test/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).

Executando o projeto

1. Aplicação

1.1 Via terminal de comandos

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

2. Testes

2.1 Via terminal de comandos

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published