Playwright 1.54. Печеньки та HTML-звіти без зайвого
Вітаю. З вами Артур!
Сьогодні Playwright релізнув нову версію 1.54.
Основні оновлення
— Нове поле cookie partitionKey у методах browserContext.cookies() та browserContext.addCookies(). Це поле дозволяє зберігати та відновлювати partitioned cookie. Детальніше читайте в статті MDN про CHIPS. Зверніть увагу, що різні браузери мають різну підтримку та стандартні налаштування для розділення cookie.
Шо це таке, якшо в двох словах — уявіть у вас є сайт artur.com і він вбудований у news.com, його cookie зберігається як artur.com на news.com. Коли той самий artur.com вбудований у shop.com, створюється інша, окрема версія cookie і не можна зіставити користувача між цими сайтами. Без цього коли сайт artur.com вбудований в кілька сайтів (news.com, shop.com), то він бачить один і той самий cookie скрізь і ви може відстежувати користувача між сайтами. Як виглядає partitioned cookie:
Set-Cookie: id=abc123; Partitioned; Secure; SameSite=None
— Partitioned — атрибут, що каже браузеру: «це кука має зберігатися окремо для кожного сайту».
— SameSite=None; Secure — обов’язкові, бо це third-party cookie.
Коли корисно:
— CDN та кеші: щоб, наприклад, cdn.example.com міг зберігати куки незалежно для кожного сайту.
— Інтеграції з іншими сервісами, які вбудовуються на сайт, але не мають права трекати користувача глобально.
Це не для трекінгу, а для збереження стану ізоляції, коли third-party cookie потрібне, але без порушення приватності
— Нова опція noSnippets для вимкнення код сніпетів в HTML-звіті:
import { defineConfig } from '@playwright/test';
export default defineConfig({
reporter: [['html', { noSnippets: true }]]
});
— Нове поле location у анотаціях тестів, наприклад у testResult.annotations та testInfo.annotations. Воно показує, де саме було додано анотацію, тіпа test.skip або test.fixme.
Командний рядок
— Нова опція --user-data-dir. Тепер можна вказати ту саму папку даних юзера для повторного використання стану браузера, наприклад, для повторної автентифікації між сесіями. Наприклад:
npx playwright codegen --user-data-dir=./user-data
— Опція -gv видалена з команди npx playwright test. Замість неї юзайте --grep-invert.
— Команда npx playwright open більше не відкриває рекордер тестів. Замість цього використовуйте:
npx playwright codegen
Різне
- Підтримка Node.js 16 видалена.
- Підтримка Node.js 18 застаріла і буде видалена в майбутньому.
P.S.
Всім гарного дня, стабільних тестів та буду радий бачити у своїй групі, щоб слідкувати за оновленнями світу розробки та тестування!
Як бачимо по останніх релізах крутих фічей все менше та менше. Ну, не двино — адже плейрайт ітак уже випередив усіх конкурентів :) Будемо дивитись шо там буде далі.

2 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів