Short Video – Description (https://youtu.be/-hh9Q2owlxk)
Screenshots – (https://github.com/sergeicher1/FullStackTestAutomationPythonFinalProject/tree/master/Screenshots)
Documentation - Complete used in this project: (https://github.com/sergeicher1/FullStackTestAutomationPythonFinalProject/tree/master/Documentation)
This project was created to demonstrate my knowledge and skills in Automation Testing.
About
This project demonstrates a smart automation infrastructure that allows testing different kinds of applications and is easily maintained!
This project can execute tests on:
Browsers (Chrome, Firefox, Ms. EDGE) - using the Selenium web driver
Desktop apps – using Win app driver
Electron apps – using Electron driver
Mobile apps - using Appium Studio as a server
Rest API – to test API server side
Database – to perform data-driven tests
Visual Testing – using applitools
Testing framework – PyTest
HTML Reports – simple HTML report of test execution
Allure Reports – An enhanced HTML reporting system
CI with Jenkins – the project is completely running from the Jenkins server
Infrastructure project includes the use of:
Page Object Design Pattern
Project Layers (Extensions/Utilities/Workflows/Test Cases)
Functional Style Programming
Common Functionality
Support Different Clients/Browsers
Failure Mechanism
External Files Support
Reporting System (including screenshots and text Logs)
Visual Testing
DB Support
CI Support
A list of applications used in this project:
Orange HRM – Open-Source HR Management
Reqres – A Hosted REST-API
Settings App – The mobile app was created by me in Android Studio
Temp Calculator – The electron app was created by me in an atom
My WPF App – Desktop app was created by me in Visual Studio
Database – The database that is located on my site
Tools & Frameworks used in this project:
PyTest – Testing Framework
EventListeners – for console reports
Jenkins – for automated execution of the test cases
Python requests – for API testing
Test Execution:
Each one of the Test Suites has a few tests for demonstration purposes. These tests can be developed very simply, due to a lot of work done with the infrastructure. [Sanity Tests]
Known Issues:
Due to different versions of package requirements that are desired for proper execution test cases on different platforms, you need to comment on other sections in the conftest.py script.