Раніше це був суцільний біль який було неможливо підтримувати в робочому стані. Зараз я чую про успішні кейси з таким типом перевірки, як наприклад Наташа поділилась своїм досвідом роботи з цим у 💫Секретному чатіку 💫
➿➿➿➿➿➿➿➿➿➿➿➿➿➿➿➿➿➿➿➿➿➿➿➿
Новий параметр
timeoutДозволяє вказати максимальний час виконання для окремого кроку тесту. Якщо крок перевищує встановлений час, тест завершиться з помилкою.
test('some test', async ({ page }) => {
await test.step('a step', async () => {
// Цей крок може завершитися з тайм-аутом незалежно від усього тесту
}, { timeout: 1000 });
});Новий метод
test.step.skip()Дозволяє пропускати виконання окремих кроків тесту.
test('some test', async ({ page }) => {
await test.step('before running step', async () => {
// Звичайний крок
});
await test.step.skip('not yet ready', async () => {
// Цей крок буде пропущено
});
await test.step('after running step', async () => {
// Цей крок виконається, навіть якщо попередній був пропущений
});
});➡️Оновлення
expect(locator).toMatchAriaSnapshot()Дозволяє зберігати ARIA-скріншоти у окремих YAML-файлах.
Новий метод
expect(locator).toHaveAccessibleErrorMessage()Перевіряє, чи елемент, на який вказує локатор, має вказане повідомлення про помилку (
aria-errormessage).➡️ Параметр
testConfig.updateSnapshotsДодано новий елемент конфігурації
changed. - changed: оновлює лише ті знімки, які були змінені.
- all: оновлює всі знімки, незалежно від наявності змін.
➡️ Новий параметр
testConfig.updateSourceMethodВизначає спосіб оновлення вихідного коду під час використання
testConfig.updateSnapshots. Додано режими:
- overwrite: переписує зміни у вихідному коді.
- 3-way: записує зміни у вихідному коді з використанням трьохстороннього об’єднання.
- patch (за замовчуванням): створює патч-файл.
npx playwright test --update-snapshots=changed --update-source-method=3way
Новий параметр
testConfig.webServer.gracefulShutdownДодає можливість вказувати сигнал завершення процесу, відмінний від стандартного
SIGKILL.Оновлення
testStep.attachmentsAPI репортера тепер дозволяє отримувати всі вкладення, створені для певного кроку.
---
💫Оновлення інтерфейсу
- Оновлений HTML-репортер для покращеного відображення вкладень.
- Додано кнопку для вибору елементів з метою створення ARIA-скріншотів.
- У трасах тепер відображаються додаткові деталі (наприклад, натиснуті клавіші).
- Відображення контенту
canvas у трасах тепер за замовчуванням вимкнено, але його можна увімкнути у налаштуваннях UI.- Панелі "Call" та "Network" тепер показують додаткову інформацію про час.
---
❗️Зміни, що порушують зворотну сумісність
1.
expect(locator).toBeEditable() та locator.isEditable() тепер генерують помилку, якщо цільовий елемент не є <input>, <select> або іншим редагованим елементом.2.
testConfig.updateSnapshots у режимі all тепер оновлює всі знімки (навіть без змін). Для збереження старої поведінки використовуйте новий режим changed.---
Версії браузерів
- Chromium: 133.0.6943.16
- Mozilla Firefox: 134.0
- WebKit: 18.2
Ця версія також протестована зі стабільними каналами:
- Google Chrome: 132
- Microsoft Edge: 132