Example
This section presents official projects that demonstrate the use of Probato in real-world automation scenarios. The examples were structured to serve as a practical reference for architecture, organization, and recommended best practices.
Probato Manager Automation
The Probato Manager Automation project is a complete example of automating the Probato Manager application, demonstrating the modular structure proposed by the framework.
π Official repository
Project Objective
This project demonstrates:
- Implementation of Suite
- Organization of Scripts
- Separation of responsibilities using Procedures
- Application of the Page Object pattern
- Use of Dataset (CSV)
- Execution of SQL Scripts as preconditions
- Multi-browser execution
- Configuration via
configuration.yml
It serves as a reference model for teams that want to structure their automation projects using Probato.
Project Structure
The structure adopted in the example follows the recommended pattern:
probato-manager-automation/
βββ src/
β βββ test/
β βββ java/
β β βββ org.probato.manager.automation/
β β βββ model/
β β βββ page/
β β βββ usecase/
β βββ resources/
β βββ dataset/
β βββ sql/
β βββ configuration.yml
βββ pom.xml
Folder Description
model/β Data mapping classes (Datamodel)page/β Page Object implementationsusecase/β Suites, Scripts, and Procedures organized by functionalitydataset/β CSV files containing test datasql/β Database preparation scriptsconfiguration.ymlβ Central execution configuration
Simplified Example
Suite
@Suite(
code = "UC01",
name = "Perform login",
description = "Allow user to login")
class UC01_PerformLogin implements TestSuite {
@TestCase
private UC01TC01_PerformLoginSuccessfully uc01tc01;
}
Script
@Script(
code = "UC01TC01",
name = "Perform login successfully",
description = "Validate successful login")
public class UC01TC01_PerformLoginSuccessfully {
@Page
private LoginPage loginPage;
@Procedure
private void procedure(LoginModel model) {
loginPage.checkPage();
loginPage.fillEmail(model.getEmail());
loginPage.fillPassword(model.getPassword());
loginPage.pressAccessButton();
}
}
Demonstrated Best Practices
This project highlights fundamental principles of Probato:
- Clear separation between structure and execution logic
- Business-oriented organization (Use Case β Script β Procedure)
- Reusability through Page Objects
- Isolation and repeatability using SQL and Dataset
- Centralized configuration
When to Use This Example
Recommended for:
- Teams starting with Probato
- Projects that require modular organization
- Automation with database integration
- Multi-browser implementation
- Architectural reference for new projects
How to Run
- Clone the repository:
-
Adjust the
configuration.ymlaccording to your environment. -
Run via Maven:
Contributions
If you would like to contribute additional examples:
- Fork the repository
- Submit a Pull Request
- Propose new reference scenarios
- Provide CI/CD integrations
The evolution of examples is part of the growth of the Probato ecosystem.