utestpy/python-page-object

Repository files navigation

Screenshot

made-with-pythonBuild StatusCoverage StatusCode style: blackChecked with flake8Checked with mypyLicense: GPL v3CodeFactorDocsEO 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.

  • mypy static type checker tool
  • black code formatter tool
  • flake8 code style tool

In addition, a source code is fully type annotated ⭐

Usage

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:

Screenshot

Please follow next instruction to generate allure report (mac OS example):

  1. Update java via brew cask install adoptopenjdk
  2. Install allure via brew install allure
  3. Generate allure project via allure serve report

Screenshot

  1. Install selenium grid from https://www.selenium.dev/downloads
  2. Run in standalone mode
java -jar selenium-server-4.0.0-alpha-7.jar standalone --port 9515
pytest
  1. 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:

I would highly appreciate any contribution and support. If you are interested to add your ideas into project please follow next simple steps:

  1. Clone the repository
  2. Configure git for the first time after cloning with your name and email
  3. pip install -r requirements.txt to install all project dependencies
  4. pip install -r requirements-dev.txt to install all development project dependencies
  5. Create your feature branch (git checkout -b feature/fooBar)
  6. Commit your changes (git commit -am 'Add some fooBar')
  7. Push to the branch (git push origin feature/fooBar)
  8. Create a new Pull Request

About

πŸ“” Page object design pattern implementation (python, pom, selenium, pytest, travisCI)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •