DOM на месте, ассерты зелёные, но сайт выглядит как после взрыва
Релиз в пятницу вечером (да, бывает). Выкатили, прогнали тесты — всё зелёное. Кнопки кликаются, формы отправляются, тексты на местах. Ушли на выходные.
А в понедельник выяснилось, что один CSS-бандл не доехал до CDN. Стили не применились и сайт два дня выглядел как голый HTML 1995 года: чёрный текст столбиком, картинки враскоряку, кнопка «Купить» где-то внизу мелким шрифтом. Конверсия — в пол.
Почему тесты этого не заметили
Потому что для классического теста «сломанная вёрстка» — это не ошибка. Элементы в DOM есть, текст есть, клики проходят. Проверять верстку селекторами бессмысленно: ты не напишешь ассерт «выглядит нормально». Это видит только человек. Или зрение.
Как это делает TestMW
Шаг «Восприятие страницы» делает полноэкранный скриншот и отправляет его в AI с вопросом: всё ли визуально в порядке — читается ли шрифт, не поехала ли вёрстка, подтянулись ли стили и картинки. Если на экране «голый HTML без стилей, наезжающий текст или белая простыня» — модель это видит, и тест падает с человеческим объяснением.
А ещё ему можно задать свой вопрос — и это уже AI-промт по описанию, без единого селектора:
- Перейти на страницу
- Восприятие страницы — «Виден ли блок с ценой и кнопка купить?»
Тот пятничный релиз с таким шагом не дожил бы до выходных: «страница выглядит как неоформленный текст без стилей» — и алерт в Telegram прилетел бы сразу после деплоя.