This repository hosts a User Interface (UI) test automation project developed using Robot Framework and the SeleniumLibrary. The primary objective is to automate the validation of the employee registration form within the Organo web application, ensuring correct data submission and the creation of corresponding cards in designated teams.
The project exemplifies best practices in test automation, including the separation of concerns (Keywords, Resources, and Test Cases) and the utilization of dynamic data generated by FakerLibrary to simulate realistic test scenarios.
- Automated UI Testing: Comprehensive test suite for the Organo employee registration form.
- Data Validation: Ensures proper handling of valid and invalid input data.
- Dynamic Test Data: Leverages FakerLibrary for realistic and varied test data generation.
- Modular Test Structure: Organized test cases, keywords, and resources for maintainability and scalability.
- Cross-Browser Compatibility: (Implicit with SeleniumLibrary, assuming Chrome is used as an example, but can be extended).
- Robot Framework: An open-source automation framework for acceptance testing, acceptance test-driven development (ATDD), and robotic process automation (RPA).
- SeleniumLibrary: A Robot Framework test library for web application testing, providing keywords for interacting with web browsers.
- FakerLibrary: A Robot Framework library for generating fake test data (e.g., names, emails, addresses).
- React: (Mentioned in the original README as the Organo app's technology) A JavaScript library for building user interfaces.
- Node.js: (Mentioned in the original README) A JavaScript runtime environment for running the Organo application.
The repository is organized into two main parts:
.
├── Organo/ # Source code of the web application (React)
└── Projeto_robot_organo/ # Robot Framework test automation project
├── testes/ # Test cases (.robot files)
├── resources/ # Keywords and Page Objects
│ ├── main.robot # Main resource file importing libraries and other resources
│ ├── pages/ # Page Object files for web elements
│ └── shared/ # Shared keywords and setup/teardown configurations
└── LICENSE # Project license file
└── README.md # This README file
└── log.html # Robot Framework test execution log
└── output.xml # Robot Framework test execution output in XML format
└── report.html # Robot Framework test execution report
To run the automated tests, you first need to set up and run the Organo web application locally.
- Node.js: Version 14 or higher is recommended.
- npm or yarn: Package manager for Node.js.
- Open your terminal and navigate to the application's source directory:
cd Organo - Install the project dependencies:
npm install
- Start the application:
npm start
- The application will automatically open in your browser, typically at
http://localhost:3000(orhttp://localhost:3001if port 3000 is occupied).
Note: Verify the port on which Organo is running and ensure that the
resources/shared/setup_teardown.robotfile in the test project points to the correct URL.
- Python: Installed on your system.
- Google Chrome Browser: Installed.
Navigate to the test project directory and install the required Robot Framework libraries:
cd Projeto_robot_organo
pip install robotframework robotframework-seleniumlibrary robotframework-fakerTo execute all automated tests, run the following command from the Projeto_robot_organo directory:
robot testesThe test suite includes the following scenarios:
| Test Scenario | Description |
|---|---|
| Correct Form Submission | Validates the creation of an employee card with valid data and its correct placement in the chosen team. |
| Multiple Card Creation | Verifies the ability to create multiple employee cards sequentially with correct data. |
| Cards per Team | Confirms the creation of an employee card for each available team when valid data is provided. |
| Mandatory Fields | Validates the display of error messages for empty mandatory fields upon form submission. |
This project is licensed under the MIT License. See the LICENSE file for more details.