TGViewer
qa семпай про тестування qa семпай про тестування @qa_advice · 3.12K subscribers
Post #449 1.79K
Новий реліз Playwright 1.51, мені в цілому подобається. Конкретно для себе я мало що затягну в проєкт, але filter(), інформація з Git у репортах і створення промтів з репортів виглядає приємно.


StorageState для IndexedDB
Нова опція indexedDB для browserContext.storageState() дозволяє зберігати та відновлювати IndexedDB. Корисно, якщо ваш додаток використовує IndexedDB для збереження токенів автентифікації, наприклад, Firebase Authentication.

ts  
// tests/auth.setup.ts
import { test as setup, expect } from '@playwright/test';
import path from 'path';

const authFile = path.join(__dirname, '../playwright/.auth/user.json');

setup('authenticate', async ({ page }) => {
await page.goto('/');
// ... кроки автентифікації ...

// Збереження IndexedDB
await page.context().storageState({ path: authFile, indexedDB: true });
});


---

Кнопка "Copy prompt" в HTML-звітах
Тепер у звітах HTML, Trace Viewer та UI-режимі з'явилася кнопка "Copy prompt". Вона дозволяє швидко скопіювати згенерований промпт із повідомленням про помилку та контекстом для її виправлення.

---

Фільтр видимих елементів
Опція visible у locator.filter() дозволяє знаходити лише видимі елементи.

ts  
test('some test', async ({ page }) => {
// Ігноруємо невидимі елементи
const todoItems = page.getByTestId('todo-item').filter({ visible: true });
await expect(todoItems).toHaveCount(3);
});


---

Git-інформація у HTML-звіті
Тепер можна додати інформацію про Git (commit, diff) у HTML-звіт.

ts  
import { defineConfig } from '@playwright/test';

export default defineConfig({
captureGitInfo: { commit: true, diff: true }
});


---

🔹 Покращення Test Steps
З'явився новий об'єкт TestStepInfo, що дозволяє:
✅ Додавати вкладення до кроків
✅ Пропускати кроки за певних умов

ts  
test('some test', async ({ page, isMobile }) => {
await test.step('тут мій крок', async step => {
step.skip(isMobile, 'не актуально для мобільних');
await step.attach('моє вкладення', { body: 'якийсь текст' });
});
});


---

✔️ page.emulateMedia() та browser.newContext() тепер підтримують prefers-contrast.
✔️ Опція failOnStatusCode примусово завершує запити API при статус-кодах, які не належать до 2xx або 3xx.
✔️ expect(page).toHaveURL() тепер підтримує предикати.

---

Актуальні версії браузерів
🟢 Chromium: 134.0.6998.35
🟠 Firefox: 135.0
🔵 WebKit: 18.4

---

https://github.com/microsoft/playwright/releases/tag/v1.51.0
GitHub Release v1.51.0 · microsoft/playwright StorageState for indexedDB New option indexedDB for browserContext.storageState() allows to save and restore IndexedDB contents. Useful when your application uses IndexedDB API to store authentic...
  • ❤ 15
  • 🔥 1
More from @qa_advice
  1. Oct 7, 2026Відосік зі стріма як AIшка вплинула на аутсорс? 📱 https://www.youtube.com/watch?v=DUvn2ko…
  2. Oct 6, 2026Стартуємо о 20:00 📱 YouTube Live: https://youtube.com/live/k1QW9AN-UNw?feature=share
  3. Oct 5, 2026У вівторок (завтра) о 20:00 виходимо в прямий ефір поговорити про те, куди рухається сучас…
  4. Sep 30, 2026У кого було? 😎
  5. Sep 25, 2026Дякую всім хто приходить до нас на стріми, спілкується в чаті і пише коментарі! Ви топ :)
  6. Sep 24, 2026стартуємо з @popeliuha о 19:00 📱https://www.youtube.com/live/gyxY3-9_2IM
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →