Project Creation
This section describes how to create the base structure of an automation project using Probato. The goal is not only to generate a Maven project, but to establish a consistent organization that facilitates the application of the framework concepts.
At the end of this step, the project will be ready to receive configurations, Suites, Scripts, and other Probato components.
Overview of the project structure
Probato is used exclusively in the context of automated tests. For this reason, all framework-related implementation resides under the src/test directory.
Project creation follows three main steps:
- Maven project creation
- Package and directory structure adjustment
- Preparation of execution resources
Maven project creation
Using terminal or command prompt
- Open a terminal or command prompt.
- Navigate to the directory where the project will be created.
- Execute the command below:
mvn archetype:generate -DgroupId=com.example.automation -DartifactId=my-project-automation -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Parameters used
-
groupId
Organization group identifier, usually related to the domain.
Example:com.example.automation -
artifactId
Automation project name.
Example:my-project-automation
Note
Project creation can also be performed directly through the IDE using Maven project wizards.
Initial generated structure
After executing the command, Maven creates the following default structure:
my-project-automation/
├── src/
│ ├── main/
│ │ └── java/
│ │ └── com/example/automation/App.java
│ └── test/
│ └── java/
│ └── com/example/automation/AppTest.java
└── pom.xml
This structure is generic and must be adjusted for use with Probato.
Package and directory structure adjustment
Probato does not use production code (src/main). All relevant code lives under src/test.
Initial cleanup
- Remove the
src/main/javadirectory. - In
src/test/java, remove the auto-generated class (AppTest.java).
Creating the Probato structure
Create the following directories:
src/test/java/com/example/automation/src/test/resources/
Organize the structure as shown below:
my-project-automation/
├── src/
│ └── test/
│ ├── java/
│ │ └── com/example/automation/
│ │ ├── model/
│ │ ├── page/
│ │ └── usecase/
│ └── resources/
│ ├── dataset/
│ ├── sql/
│ └── configuration.yml
└── pom.xml
Directory description
-
src/test/java
Contains all automated test implementation:- Suites
- Scripts
- Procedures
- Page Objects
- Auxiliary models
-
src/test/resources
Stores external resources used during execution:- Dataset files
- SQL or NoSQL scripts
- Probato configuration file
The configuration.yml file is the central configuration point of the framework.
Note
The content and structure of configuration.yml will be detailed in the next section.
Final checklist
Before moving forward, confirm that:
- ✅ The Maven project was created successfully
- ✅ The directory structure was adjusted
- ✅ The
src/maindirectory was removed - ✅ The
configuration.ymlfile exists insrc/test/resources
With the project created, the next step is to configure the framework behavior.
➡️ Next step: Project Configuration