Этот плагин - форк плагина pytest-playwright-visual.
Плагин предназначен для сравнения скриншотов при UI-тестировании веб-приложений. Плагин может быть исопльзован с любым UI-фреймворком.
В плагине добавлена возможность задавать допустимое количество отличающихся пикселей на скриншоте. Это помогает сделать тесты более стабильными.
После установки пакета в тестах с использованием библиотеки pytest становится доступна фикстура assert-screenshot:
class TestExamplesVisual:
def test_visual_auth_page(self, ui_client: UIClient, assert_screenshot):
"""Визуальный тест страницы авторизации"""
# ARRANGE
ui_client.page_auth.navigate()
# ACT
screenshot_page_auth = ui_client.page_auth.make_screenshot()
# ASSERT
screenshot_name = OperationsFile.generate_screenshot_name()
logger.debug('Имя базового скриншота = ' + screenshot_name)
assert_screenshot(
screenshot_page_auth,
threshold=0.12,
name=screenshot_name,
fail_fast=False,
)