Реліз Playwright 1.48: вебсокети стали зручніше та відбулись апдейти у UI

Вітаю. З вами Артур!

Сьогодні Playwright релізнув нову версію 1.48. Що ж там:

WebSocket

Нові методи: page.routeWebSocket та context.routeWebSocket дозволяють перехоплювати, змінювати та імітувати підключення WebSocket, ініційовані на сторінці. Ось невеличкий приклад, який імітує спілкування через WebSocket, відповідаючи на «request» текстом «response»:

await page.routeWebSocket('/ws', ws => {
  ws.onMessage(message => {
    if (message === 'request')
      ws.send('response');
  });
});

Тут трошки більше прикладів WebSocketRoute

UI-оновлення

  • Нові кнопки «копіювати» для анотацій і розташування тесту у звіті HTML.
  • Виклики методів як route.fulfill() більше не відображаються у звітах та трейсах. Натомість ви можете побачити, які мережеві запити були на вкладці нетворку.
  • Нові кнопки «Copy as cURL» і «Copy as fetch» для запитів на вкладці мережі. Нарешті!

Всяке різне

  • Опції form і подібні тепер приймають FormData.
  • Новий метод page.requestGC() може допомогти виявити меморі ліків.
    Приклад:
    await page.evaluate(() => globalThis.suspectWeakRef = new WeakRef(suspect));
    await page.requestGC();
    expect(await page.evaluate(() => !globalThis.suspectWeakRef.deref())).toBe(true);
  • Новий параметр location для передачі кастомного розташування кроку.
  • Запити, зроблені APIRequestContext, тепер записують детальну інформацію про час і безпеку в HAR.

Browser Versions

  • Chromium 130.0.6723.19
  • Mozilla Firefox 130.0
  • WebKit 18.0

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось4
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі