Short Video - Demonstration: (click on image to play)
This project was created to demonstrate my knowledge and skills on a variety of platforms using different kinds of tools & frameworks.
The project demonstates a smart automation infrastructure. It is built in hierarchy order of modules. The modules contain number of classes with methods. In this way, the tests can be created in very simple way with a minimum lines of code. Also the infrastructure allows to work with differend kinds of applications. Big advantage of the infrastructure is that it can be easy maintained!
The project is an example of infrastructure for automation testing of different kinds of applications:
- Web based application
- Mobile application
- Web API
- Electron application
- Desktop application
- Page Object Design Pattern
- Project Layers(Extensions/Work Flows/Test Cases...)
- Support of Different Clients/Browsers
- Failure Mechanism
- Common Functionality
- External Files Support
- Reporting System (including screenshots)
- Visual Testing
- DB support
- CI support
- Grafana webpage - Web based application
- Mortgage calculator - Mobile application
- Grafana API - Web API
- Todolist- Electron application
- Windows calculator - Desktop application
- Selenium - For Web Aplication Testing
- Appium - For Mobile Aplication Testing
- RestAssured- for API testing
- WinAppDriver - For Desktop Aplication Testing
- Electron Driver - For Electron Aplication Testing
- TestNG - Testing Framework
- Listeners - interface used to generate logs and customize the TestNG reports
- MySQL Free Online DB - used for Grafana web page
- Jenkins- for tests execution
- Allure Reports - as the main reporting system
Each of the applications has a few tests for demonstration purpose. These tests can be developed in a very simple way, due to a lot of work with the infrastructure. [Sanity Tests]
Sometimes can be conflicts with some dependencies the applications are using. Hence, the project is for DEMO purpose only. In production it should be divided into several projects.