Welcome to my portfolio! 👋 This repository contains examples of my work related to test automation. The project shows my skills in creating, implementing and managing automated tests. I am able to write tests in any language, but in this case I focused mainly on Robotframwrok, as it is my favorite tool to work with.
The project is organized into different test sets, each targeting a specific object under test. The structure is as follows:
.
├── README.md # Project documentation
├── requirements.txt # Dependencies required to run the tests
├── run_all_tests.bash # Script to run all tests
└── test_sets # Directory containing test suites
├── ESP32-S3 # Files related to ESP32-S3 microcontroller
│ ├── keywords.robot # Custom keywords for test automation
│ ├── tests.robot # Test cases
│ └── variables.robot # Variables used in tests
├── orangeHRM # Files related to OrangeHRM website
│ ├── keywords.robot
│ ├── tests.robot
│ └── variables.robot
└── reqresAPI # Files related to ReqRes API
│ ├── keywords.robot
│ ├── tests.robot
│ └── variables.robot
└── youtube # Files related to youtube
├── keywords.robot
├── tests.robot
└── variables.robot
The following instructions were prepared and tested on Linux. Running tests from other systems is possible, but requires minor changes to the process.
For the ESP32-S3 tests, the following requirements must be met:
- An ESP32-S3 board with MicroPython firmware installed – MicroPython.
- A USB-A to USB-C cable to connect the board to the host.
- Adjust the test_sets/ESP32-S3/variables.robot file to your configuration and operating system.
For the other tests, an internet connection is required.
To execute the tests, follow these steps:
-
Clone the repository:
git clone https://github.com/Pokisiekk/portfolio.git cd portfolio -
Set up the test environment:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt rfbrowser init -
Run tests for a specific module:
-
ESP32-S3 tests:
robot test_sets/ESP32-S3/tests.robot -
OrangeHRM tests:
robot test_sets/orangeHRM/tests.robot -
ReqRes API tests:
robot test_sets/reqresAPI/tests.robot -
Youtube tests:
robot test_sets/youtube/tests.robot
-
The repository contains a scripts run_all_tests.bash and run_all_tests.ps1 that create a temporary virtual environment, installs the required libraries and dependencies, and then runs all the tests. The scripts are identical, so should use the one that which is compatible with your OS.
The project includes automated tests for different types of objects using different libraries:
-
ESP32-S3: The tests related to the ESP32-S3 microcontroller, including firmware validation, connectivity, and functional checks. For testing purposes, MicroPython was installed on the board. Tests are based on the SerialLibrary.
-
OrangeHRM: Automated tests for OrangeHRM, an open-source human resource management system. The tests verify functionalities such as login, user management, and role assignments. Tests are based on the SeleniumLibrary.
-
ReqRes API: The tests for ReqRes, a mock REST API used for testing. Tests validate HTTP responses, status codes, and data integrity. Tests are based on the RequestsLibrary.
-
Youtube: World-famous website for sharing content, mainly video. The tests check the loading of individual tabs, video operations and checking the capabilities of some basic functionalities. Tests are based on the Browser library.