made-with-python Build Status Coverage Status Code style: black Checked with flake8 Checked with mypy License: GPL v3 CodeFactor Docs EO principles respected here
Represent most popular OOD pattern for Web UI automation using python programming language (for learning reference only).
Automated tests are demonstrated on http://demo.guru99.com/test/newtours web application.
- python 3.6, 3.7, 3.8, 3.9
- pytest framework
- selenium library
- pom framework
- allure reporting
- travis CI
In addition, a source code is fully type annotated β
From the root directory of your shell run following command:
./run-tests.sh help Tool allows to simplify run of automated tests for POM sample project. Available actions: - smoke run automated smoke tests - unittest run automated unittest tests - all run all automated tests - help display help Note: help will be provided in case of no input parameters
Run a bunch of tests (e.g smoke) via following command:
./run-tests.sh smoke
Then please open test-report.html
file to see detailed testing report e.g:
Please follow next instruction to generate allure report (mac OS example):
- Update java via
brew cask install adoptopenjdk
- Install allure via
brew install allure
- Generate allure project via
allure serve report
- Install selenium grid from https://www.selenium.dev/downloads
- Run in standalone mode
java -jar selenium-server-4.0.0-alpha-7.jar standalone --port 9515 pytest
- Run in hub & node mode
java -jar selenium-server-4.0.0-alpha-7.jar hub --port 9515 java -jar selenium-server-4.0.0-alpha-7.jar node --port 5555 pytest
Please check changelog file to get more details about actual versions and it's release notes.
Author β Volodymyr Yahello.
Distributed under the GPL v3
license. See license for more information.
You can reach out me at:
- vyahello@gmail.com
- https://github.com/vyahello
- https://www.linkedin.com/in/volodymyr-yahello-821746127
I would highly appreciate any contribution and support. If you are interested to add your ideas into project please follow next simple steps:
- Clone the repository
- Configure
git
for the first time after cloning with yourname
andemail
pip install -r requirements.txt
to install all project dependenciespip install -r requirements-dev.txt
to install all development project dependencies- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request