Fuente
QA Co-pilot | Ультимативна шпаргалка: Жорсткі vs. М'які перевірки (Soft Assertions)К...
33 Vistas/Alcance
2026-05-27 12:36
Mensaje №308
🗂 Ультимативна шпаргалка: Жорсткі vs. М'які перевірки (Soft Assertions)Коротка шпаргалка про те, як зібрати максимум багів за один прогін і не переривати скрипт на півдорозі. Зберігайте! ☕️🛑 expect() (Жорстка перевірка — Класика)
Як працює: Знайшов помилку ➡️ Тест миттєво впав (Fatal Error) ➡️ Усі наступні кроки скасовано.Коли юзати: Критичні бізнес-кроки. Якщо після логіну юзер не потрапив у дашборд, немає сенсу намагатися клікати далі.
// Якщо сторінка не завантажилась, тест падає тут...await expect(page).toHaveURL('/dashboard'); // ...цей клік ніколи не виконаєтьсяawait page.getByRole('button', { name: 'Створити' }).click();
☁️ expect.soft() (М'яка перевірка — Рятівник часу)
Як працює: Знайшов помилку ➡️ Записав у лог (червоним) ➡️ Пішов виконувати тест далі! Скрипт впаде лише в самому кінці, але збере всі помилки.Коли юзати: Перевірка великих форм, таблиць, візуальних атрибутів, де один баг (наприклад, неправильний колір тексту) не блокує перевірку інших полів.
// Якщо ім'я не збігається, тест запише помилку, але ВСЕ ОДНО перевірить вік та email!await expect.soft(page.locator('#name')).toHaveValue('Ivan');await expect.soft(page.locator('#age')).toHaveValue('25');await expect.soft(page.locator('#email')).toHaveValue('[email protected]');
Золоте правило:Використовуйте expect() для навігації та перевірок станів, від яких залежить наступний крок. Використовуйте expect.soft(), коли тестуєте "пачку" незалежних даних (наприклад, перевіряєте всі дані у профілі користувача після збереження).А ви використовуєте "м'які" перевірки? 👇🔥 — Так, expect.soft() ідеально підходить для перевірки таблиць!👀 — Пишу звичайний expect, хай падає одразу, мені так спокійніше.🤯 — Почекайте, Playwright вміє не зупиняти тест при помилці?!