Configuração do Projeto
Esta seção descreve como configurar um projeto Maven para utilizar o Probato. Aqui são definidos tanto os artefatos necessários para o build quanto o comportamento de execução do framework.
O objetivo desta etapa é preparar o projeto para executar testes automatizados de forma previsível, declarativa e extensível.
Papel da configuração no Probato
No Probato, a configuração é explicitamente separada do código de teste.
Enquanto o código descreve o que será testado, a configuração define:
- Como os testes serão executados
- Quais browsers serão utilizados
- Como evidências serão capturadas
- Quais integrações estarão ativas
Essa separação evita lógica condicional no código e permite alterar o comportamento do projeto sem recompilação.
Configuração do Build (Maven)
O Probato é distribuído de forma modular. Cada funcionalidade do framework é habilitada por meio de dependências Maven.
Dependências principais do Probato
Abra o arquivo pom.xml, localizado no diretório raiz do projeto, e adicione as dependências necessárias.
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.automation</groupId>
<artifactId>my-project-automation</artifactId>
<version>1.0.0</version>
<properties>
<probato.version>0.1.0</probato.version>
<selenium.version>4.33.0</selenium.version>
<playwright.version>1.57.0</playwright.version>
<postgresql.version>42.7.3</postgresql.version>
</properties>
<dependencies>
<!-- Probato Core -->
<dependency>
<groupId>org.probato</groupId>
<artifactId>probato-core</artifactId>
<version>${probato.version}</version>
<scope>test</scope>
</dependency>
<!-- Browsers -->
<dependency>
<groupId>org.probato</groupId>
<artifactId>probato-browser-chrome</artifactId>
<version>${probato.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.probato</groupId>
<artifactId>probato-browser-firefox</artifactId>
<version>${probato.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.probato</groupId>
<artifactId>probato-browser-edge</artifactId>
<version>${probato.version}</version>
<scope>test</scope>
</dependency>
<!-- Datasets -->
<dependency>
<groupId>org.probato</groupId>
<artifactId>probato-datasets-csv</artifactId>
<version>${probato.version}</version>
<scope>test</scope>
</dependency>
<!-- Database -->
<dependency>
<groupId>org.probato</groupId>
<artifactId>probato-database-sql</artifactId>
<version>${probato.version}</version>
<scope>test</scope>
</dependency>
<!-- Record -->
<dependency>
<groupId>org.probato</groupId>
<artifactId>probato-record</artifactId>
<version>${probato.version}</version>
<scope>test</scope>
</dependency>
<!-- UI executors -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<version>${playwright.version}</version>
</dependency>
<!-- Database driver -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M7</version>
<configuration>
<includes>
<include>**/*.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</project>
Arquivo de Configuração do Probato
O comportamento de execução do framework é definido no arquivo:
Esse arquivo concentra todas as definições relacionadas à execução dos testes.
Exemplo de configuração
execution:
engine: SELENIUM
target:
url: http://localhost:8099
version: 0.0.0
delay:
waitingTimeout: 5000
actionInterval: 500
video:
enabled: true
frameRate: 1000
quality: MEDIUM
manager:
submit: true
url: http://localhost:8080
token: [TOKEN]
browsers:
- type: CHROME
headless: false
dimension:
mode: FULLSCREEN
datasources:
probato:
url: jdbc:postgresql://localhost:5444/probato
driver: org.postgresql.Driver
username: root
password: root
Propriedades disponíveis no configuration.yml
Execution
| Propriedade | Descrição |
|---|---|
| execution.engine | Engine de execução (SELENIUM ou PLAYWRIGHT) |
| execution.target.url | URL da aplicação alvo |
| execution.target.version | Versão da aplicação |
| execution.delay.waitingTimeout | Tempo máximo de espera |
| execution.delay.actionInterval | Intervalo entre ações |
| execution.video.enabled | Habilita gravação de vídeo |
| execution.video.frameRate | Taxa de quadros |
| execution.video.quality | Qualidade do vídeo |
| execution.manager.submit | Envia dados ao Probato Manager |
| execution.manager.url | URL do Manager |
| execution.manager.token | Token de autenticação |
Browsers
| Propriedade | Descrição |
|---|---|
| browsers[].type | Tipo do browser |
| browsers[].headless | Executa em modo headless |
| browsers[].dimension.mode | FULLSCREEN, MAXIMIZED ou CUSTOM |
| browsers[].dimension.width | Largura (CUSTOM) |
| browsers[].dimension.height | Altura (CUSTOM) |
Datasources
| Propriedade | Descrição |
|---|---|
| datasources.*.url | URL de conexão |
| datasources.*.driver | Driver JDBC |
| datasources.*.username | Usuário |
| datasources.*.password | Senha |
Checklist final
- ✅ Dependências configuradas no
pom.xml - ✅ Arquivo
configuration.ymlcriado - ✅ Propriedades ajustadas conforme o ambiente
➡️ Próximo passo: Configuração de Browser