All Projects â†’ vyahello â†’ python-page-object

vyahello / python-page-object

Licence: GPL-3.0 license
📔 Page object design pattern implementation (python, pom, selenium, pytest, travisCI)

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to python-page-object

OneFramework
Automation for iOS, Android, & Web Apps with one codebase. Like it, Star it & spread the word !!!
Stars: ✭ 46 (+12.2%)
Mutual labels:  selenium-webdriver, page-object-model
Python-Test-Automation-Framework
Test Automation Framework using selenium and Python
Stars: ✭ 41 (+0%)
Mutual labels:  pytest, page-object-model
python-appium-framework
Complete Python Appium framework in 360 degree
Stars: ✭ 43 (+4.88%)
Mutual labels:  pytest, selenium-webdriver
cloudrun-fastapi
FastAPI on Google Cloud Run
Stars: ✭ 112 (+173.17%)
Mutual labels:  pytest
pytest-snail
Plugin for adding a marker to slow running tests. 🐌
Stars: ✭ 15 (-63.41%)
Mutual labels:  pytest
html-dnd
HTML Drag and Drop Simulator for E2E testing
Stars: ✭ 53 (+29.27%)
Mutual labels:  selenium-webdriver
pytest-eth
PyTest plugin for testing smart contracts for Ethereum blockchain.
Stars: ✭ 23 (-43.9%)
Mutual labels:  pytest
limo
A wrapper around selenium webdriver
Stars: ✭ 25 (-39.02%)
Mutual labels:  selenium-webdriver
pytest-mock-server
Mock server plugin for pytest
Stars: ✭ 19 (-53.66%)
Mutual labels:  pytest
SeleniumCucumber
BDD framework for automation using Selenium Cucumber and TestNg
Stars: ✭ 48 (+17.07%)
Mutual labels:  selenium-webdriver
tees
Universal test framework for front-end with WebDriver, Puppeteer and Enzyme
Stars: ✭ 23 (-43.9%)
Mutual labels:  selenium-webdriver
Instagram-Giveaways-Winner
Instagram Bot which when given a post url will spam mentions to increase the chances of winning. Win Instagram Giveaways!
Stars: ✭ 95 (+131.71%)
Mutual labels:  selenium-webdriver
mediaforge
A Discord bot for editing and creating videos, images, GIFs, and more!
Stars: ✭ 45 (+9.76%)
Mutual labels:  selenium-webdriver
pytest-github-actions-annotate-failures
Pytest plugin to annotate failed tests with a workflow command for GitHub Actions
Stars: ✭ 58 (+41.46%)
Mutual labels:  pytest
pytest-watcher
Rerun pytest when your code changes
Stars: ✭ 60 (+46.34%)
Mutual labels:  pytest
pytest-flask-sqlalchemy
No description or website provided.
Stars: ✭ 14 (-65.85%)
Mutual labels:  pytest
weibo-porter
埮博搬运姬自劚搬运B博劚态至埮博的机噚人
Stars: ✭ 53 (+29.27%)
Mutual labels:  selenium-webdriver
OpenYspider
千䞇级囟片爬虫、视频爬虫 [匀源版本] Image Spider
Stars: ✭ 122 (+197.56%)
Mutual labels:  selenium-webdriver
pytest-spark
pytest plugin to run the tests with support of pyspark
Stars: ✭ 65 (+58.54%)
Mutual labels:  pytest
python-ood
💠 Essential object oriented design (python, pytest, travisCI)
Stars: ✭ 38 (-7.32%)
Mutual labels:  pytest

Screenshot

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

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://demo.guru99.com/test/newtours web application.

Tools

Production

Development

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

In addition, a source code is fully type annotated ⭐

Usage

Usage

Quick start

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

Tests (html) report sample

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

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

Selenium grid setup

  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

Release History

Please check changelog file to get more details about actual versions and it's release notes.

Meta

Author – Volodymyr Yahello.

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

You can reach out me at:

Contributing

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].