Обновление скриншота - решение ревьюера.
Отделите намеренное изменение интерфейса от команды замены ожидаемого изображения.

Переведенное издание. Технические идентификаторы остаются в своей первоначальной форме.

Проверка изображения падает после исчезновения кнопки. Обновить эталон быстро, но исчезновение может стать новой нормой. Команда не решает, должна ли кнопка исчезнуть. Это решение о продукте, не ремонт инструментом.
Руководство следует документации скриншотов Playwright с вымышленной локальной карточкой. Сравнивается неизменный пример в контролируемой среде. Это не промышленный интерфейс, сертификат доступности или измерение скорости. Что принимает новый эталон?
Назовите эталон и среду
Проверка сравнивает снимок с эталоном. Документация описывает создание при первом запуске и последующее сравнение. Название обозначает выбранный вид, чтобы чужое изображение его не заменило.
await page.setContent(`
<main aria-label="Demo preference card">
<h1>Demo preference</h1>
<button>Keep demo setting</button>
</main>
`);
await expect(page.getByRole('main')).toHaveScreenshot('demo-card.png');Нужны раннер и импортированный expect. Проверяется одна область, не продукт целиком. Пример имеет стабильные стили и размер окна. Эталон создаётся намеренно и сравнивается отдельным запуском.
ОС, браузер, настройки, оборудование и режим без интерфейса влияют на пиксели. Создавайте и сравнивайте в одинаковой среде. Другой платформе может понадобиться отдельный эталон, не допуск, скрывающий важное изменение.
Прочитайте различие до замены
Смотрите ожидаемое, фактическое и видимое изменение. Новое требование, другая среда и регрессия требуют разных действий несмотря на одинаковый красный результат.
update-snapshots документирован. Используйте после понимания и одобрения в процессе команды. Новые файлы меняют ожидаемое поведение. Не обновляйте всё ради устранения красного.
Исчезновение кнопки бывает правильным дизайном или дефектом. Пиксели этого не знают. Свяжите изменение с требованием и сохраните функциональную проверку доступности элемента.
Ограничьте сравнение честно
Область говорит только об этой области и настройке. Не о содержимом вне экрана, других размерах или сервере. Выбирайте по вопросу, не удобству зелёного результата.
Допуски и стили снимков уменьшают шум, но меняют значимые различия. Назовите исключённые элементы и пороги. Не скрывайте защищаемую кнопку.
Мы сравниваем исходную карточку и отдельно создаём изображение с другим текстом кнопки для просмотра. Второе не принимается эталоном. Это демонстрация изменения и стабильного сравнения, не полная стратегия.
Сохраните проверяемое решение
Запишите вид, среду, намеренное отличие и решение. История объясняет следующему инженеру изменение ожидания. Удалите частные записи перед сохранением в репозитории.
AnyTest описывает исследование и тесты для ревью. Спросите, что сравнивается и кто принял ожидание. Функция эталонов AnyTest не заявляется. Команда пишет файл, ревьюер отвечает за смысл.
Небольшое визуальное отличие бывает функционально важным. Порог нельзя выбирать только потому, что он возвращает зелёный запуск. Объясните допустимый шум и защищённое поведение. Если динамическое содержимое исключено, укажите, почему оно не относится к вопросу. Исключение не должно спрятать обязательную кнопку. Региональный снимок дополняет функциональные проверки, а не заменяет решение о требовании.
Общие вопросы
Исправляет ли обновление эталона приложение?
Нет. Меняется ожидаемое изображение; сначала проверьте продуктовое изменение.
Сертифицирует ли снимок области весь интерфейс?
Нет. Доказательство ограничено областью и средой отображения.