Skip to main content

Integrates Playwright for automated browser testing with customizable configuration options

Project description

vedro-pw

Codecov PyPI PyPI - Downloads Python Version

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:

  1. Install the package using pip:
$ pip install vedro-pw
  1. Next, activate the plugin in your vedro.cfg.py configuration 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, expect

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 expect(self.page).to_have_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vedro_pw-0.5.0.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vedro_pw-0.5.0-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file vedro_pw-0.5.0.tar.gz.

File metadata

  • Download URL: vedro_pw-0.5.0.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for vedro_pw-0.5.0.tar.gz
Algorithm Hash digest
SHA256 36fab9740152b0553932ea0b29fd4d5b91d9a9e239e16c4cca986f583b4ab71f
MD5 08593de7b298a8b9f4345a41534add41
BLAKE2b-256 76ad1a9fb9c8171b379b75e9d99b452ac0aaffd4b970ec9c1ae930dd541afd44

See more details on using hashes here.

File details

Details for the file vedro_pw-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: vedro_pw-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 25.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for vedro_pw-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 777db0aacb99212111e0961f2b274041b8186015251c5941ac2d73f020f48cb2
MD5 f87c28fa679cb4ec6e63992cf6886f4e
BLAKE2b-256 1790ca0ab767db7088740c12b9551656a52a8bb75a8cc2beb396e62465e6b120

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page