Skip to main content

A pytest fixture for visual testing with Playwright

Project description

Pytest Plugin for Visual Testing with Playwright

Based on pixelmatch-py image comparison library.

Expands assert_snapshot fixture from pytest-playwright-snapshot library

Main Features:

  • snapshots creation on the first run
  • visual review of mismatches
  • failing on --update-snapshots to make users manually review images
  • snapshot name is optional, test_name[browser][os].png is auto-generated by default
  • updated folder structure: snapshots/file_name/test_name/test_name[browser][os].png

Installation

$ pip install pytest-playwright-visual

Usage

This plugin provides a assert_snapshot fixture which is used to create snapshots and compare it.

Example:

def test_myapp(page, assert_snapshot):
    page.goto("https://example.com")
    assert_snapshot(page.screenshot())

Then, run pytest:

$ pytest

The first time you run pytest, snapshots will be created, and you will get the error:

Failed: --> New snapshot(s) created. Please review images

The next run, the snapshots comparison will take place.

To update snapshots, run:

$ pytest --update-snapshots

After updating, tests will fail and you will need to review images.

In case of a mismatch, snapshot_tests_failures folder will be created with Actual_.., Expected_.. and Diff_.. images generated.

Folder Structure Example

img_2.png

API

assert_snapshot(page.screenshot(), threshold: float = 0.1, name='test_name[browser][os].png', fail_fast=False)

  • threshold - sets the threshold for the comparison of the screenshots:0 to 1. Default is 0.1
  • name - .png extensions only. Default is test_name[browser][os].png (recommended)
  • fail_fast - If True, will fail after first different pixel. False by default

License

Apache 2.0 LICENSE

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

pytest-playwright-visual-2.1.2.tar.gz (120.1 kB view details)

Uploaded Source

Built Distribution

pytest_playwright_visual-2.1.2-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file pytest-playwright-visual-2.1.2.tar.gz.

File metadata

File hashes

Hashes for pytest-playwright-visual-2.1.2.tar.gz
Algorithm Hash digest
SHA256 947e82bf565a347652d1dd0c90531f49e31507273f45e6277dc7413842c12dbf
MD5 f567c5860a817d1992192ef8de5b62ef
BLAKE2b-256 7204c16c31e0f466a7274a6933faf90cde85b3d57287350b341ce5befe2a5273

See more details on using hashes here.

File details

Details for the file pytest_playwright_visual-2.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_playwright_visual-2.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 75e38eac2fa8e611aecfda48bbc557b948bfec1a9a472a25c3fbd7e418a773e7
MD5 27d2462e1dc7707526acfe1a59f915fc
BLAKE2b-256 ee64786a2f83823c91f7e83e6d8a4e4c826639712417ed9442ad23f54b01cd5b

See more details on using hashes here.

Supported by

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