All page interactions mapped to code.
This project is an implementation of Page Object Model (POM) design pattern. It was created by using Selenium to map all page iterables into a Domain-specific language (DSL).
The DSL is used as an interface of interaction between the browser webdriver and the code to manipulate the browser itself and the page iterables.
POM design pattern is generally used in test automation for enhancing code quality and maintentance.
- Docker
- Docker-compose
- Poetry (optional)
You can install the project dependencies using either pip or poetry.
- Using pip
pip install -r requirements.txt
- Using poetry
poetry install
To apply tests you will need Selenium Hub and a remote browser instance.
Simply run:
docker-compose up -d
To use pytest for testing, in the project root simply run
pytest -v $(pwd)/tests/test_page_mapper.py
In the project root simply execute:
behave src/features -D debug=True
MENDES, E. Selenium course. 2020.