Skip to content

๐Ÿ“š Page object design pattern implementation (python + pom + selenium + pytest + travisCI)

License

Notifications You must be signed in to change notification settings

ngocthuan1208/python-page-object

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

80 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

made-with-python Build Status Coverage Status Code style: black Checked with flake8 Checked with mypy GitHub version GitHub watchers Forks Stars GitHub contributors License: GPL v3 Hits-of-Code EO principles respected here CodeFactor

Python page object model (PyPOM)

Represent most popular OOD pattern for Web UI automation using python programming language (for learning reference only).

Automated tests are demonstrated on http://newtours.demoaut.com/mercurywelcome.php web application.

Tools

In addition code is fully type annotated โญ

Quick start

From the root directory of your shell run following commands:

  • Smoke tests
./run-tests.sh smoke
  • Unit tests
./run-tests.sh unit
  • Whole suite
./run-tests.sh all

Tests (html) report sample

Run a bunch of tests (e.g smoke) via following command:

./run-tests.sh smoke

After please open test-report.html file to see detailed testing report:

Screenshot

Generate allure report

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

Development notes

Release History

  • 0.3.0
    • Introduce allure integration
  • 0.2.0
    • Introduce travis CI
    • Add static code analysis tools (black, flake8 and mypy) along with unittests
  • 0.1.0
    • Distribute initial version

Meta

Author โ€“ Volodymyr Yahello.

Distributed under the GPL v3 license. See LICENSE for more information.

You can reach out me at:

Contributing

  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 project development dependencies

About

๐Ÿ“š Page object design pattern implementation (python + pom + selenium + pytest + travisCI)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 86.0%
  • Shell 14.0%