Cypress-like bindings for Selenium with Python
Project description
Welcome to Pylenium
The mission here is simple:
Make the onboarding experience of Selenium more like Cypress.
I teach courses and do trainings for both Selenium and Cypress, but Selenium feels more clunky.
Cypress has done an amazing job of making the testing experience more enjoyable - especially for beginners.
Pylenium looks to bring more Cypress-like bindings for Selenium and Python, so behaviors and names will be the same or similar.
Get Started
-
Install Pylenium into your Project
$ pip install pylenium
-
Create a
test_google.py
file -
Define a single pytest fixture which is your
BeforeEach
andAfterEach
import pytest
from pylenium import Pylenium
@pytest.fixture
def py():
py = Pylenium()
yield py
py.quit()
- Write the test below your fixture
def test_google_search(py):
py.visit('https://google.com')
py.get('[name="q"]').type('puppies')
py.get('[name="btnK"]').submit()
assert 'puppies' in py.title
Install Chromedriver
Everyone handles the install of their drivers differently.
As of right now, Pylenium expects your chromedriver to be on your PATH.
The easiest way to do this is with WebDriver Manager
.
-
Install the manager
$ npm install -g webdriver-manager
-
Then download the
chromedriver
executable$ webdriver-manager update
Run the Test
This depends on your IDE, environment and configurations, but you can easily do it from the CLI using:
$ python -m pytest
YOU'RE ALL SET
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.