Integrates Playwright for automated browser testing with customizable configuration options
Project description
vedro-pw
The vedro-pw plugin allows you to use Playwright within your Vedro scenarios for end-to-end testing of web applications.
Installation
Quick
For a quick installation, you can use a plugin manager as follows:
$ vedro plugin install vedro-pw
Manual
To install manually, follow these steps:
- Install the package using pip:
$ pip3 install vedro-pw
- Next, activate the plugin in your
vedro.cfg.pyconfiguration file:
# ./vedro.cfg.py
import vedro
import vedro_pw
class Config(vedro.Config):
class Plugins(vedro.Config.Plugins):
class Playwright(vedro_pw.Playwright):
enabled = True
Usage
Use the provided context functions in your scenarios to interact with Playwright:
launched_browser: Launches a local or remote browser based on the configuration.created_browser_context: Creates a new browser context.opened_browser_page: Opens a new page in the browser context.
Basic Example
Here's a simple Vedro scenario that opens the Playwright homepage and verifies the page title.
import vedro
from vedro_pw import opened_browser_page
class Scenario(vedro.Scenario):
subject = "Open Playwright homepage"
async def given(self):
self.page = await opened_browser_page()
async def when(self):
await self.page.goto("https://playwright.dev/")
async def then(self):
assert await self.page.title() == "Playwright"
Command-Line Options
The plugin adds several command-line arguments for flexibility:
| Option | Description | Default |
|---|---|---|
--pw-browser |
Browser to use (chromium, firefox, webkit) |
chromium |
--pw-headed |
Run browser in headed mode | False |
--pw-headless |
Run browser in headless mode | True |
--pw-slowmo |
Delay operations by specified milliseconds | 0 |
--pw-remote |
Connect to a remote browser instance | False |
--pw-remote-endpoint |
WebSocket endpoint for remote browser | ws://localhost:3000 |
--pw-screenshots |
Screenshot capturing (always, on-failure, on-reschedule, never) |
never |
--pw-video |
Video recording (always, on-failure, on-reschedule, never) |
never |
--pw-trace |
Trace recording (always, on-failure, on-reschedule, never) |
never |
--pw-device |
Emulate a specific device | None |
--pw-debug |
Enable Playwright debug mode by setting PWDEBUG=1 |
False |
--pw-open-last-trace |
Open the last captured Playwright trace after the test run | False |
Example Usage
$ vedro run --pw-browser=firefox --pw-headed --pw-screenshots=on-failure
Capture Modes
CaptureMode determines when to capture artifacts:
never: Do not capture.on-failure: Capture only when a scenario fails.on-reschedule: Capture when a scenario is rescheduled.always: Always capture.
Artifacts like screenshots, videos, and traces are attached to the scenario results and can be used in reports.
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vedro_pw-0.4.0.tar.gz.
File metadata
- Download URL: vedro_pw-0.4.0.tar.gz
- Upload date:
- Size: 23.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c80046dc4ecb481ea89810d32816f862596963dde71d800756537669cfa02bf1
|
|
| MD5 |
ebef0cbe0d03c0925be103d0911c5d4e
|
|
| BLAKE2b-256 |
4d1e6db0d6465b0e6a81aa9ae39b1122738811871f9ddfeac5486928701dc68f
|
File details
Details for the file vedro_pw-0.4.0-py3-none-any.whl.
File metadata
- Download URL: vedro_pw-0.4.0-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61624895a1c5d5f6b40ba46eee5a183b4b6cf8d88bf48caa0b565f124da7e52d
|
|
| MD5 |
617ed322106b986ccc2407f369bc390e
|
|
| BLAKE2b-256 |
7e476e0e6fd957ae30dfb6f0d445e4b85467054e1e7a0f81bbb104e21822b9a6
|