Playwright v1.46.0. Дивимось, що всередині
Вітаю. З вами Артур!
Сьогодні Playwright релізнув нову версію 1.46. Що всередині?
TLS Client Certificates
Playwright тепер дозволяє підтримувати клієнтські сертифікати, щоб сервер міг верифікувати їх, як зазначено у TLS Client Authentication. Коли вказано клієнтські сертифікати, увесь трафік браузера перенаправляється через проксі-сервер, який встановлює безпечне TLS з’єднання , надає сертифікат клієнта до серверу і перевіряє сертифікати сервера.
Приклад:
import { defineConfig } from '@playwright/test'; export default defineConfig({ // ... use: { clientCertificates: [{ origin: 'https://example.com', certPath: './cert.pem', keyPath: './key.pem', passphrase: 'mysecretpassword', }], }, // ... });
Також можна надати клієнтські сертифікати для певного тестового проєкту або як параметри browser.newContext() і apiRequest.newContext().
—only-changed cli option
Нова опція в терміналі —only-changed дозволяє запускати лише тестові файли, які були змінені після останнього коміту git або з певного git «ref».
# запуск тільки незакомічених тестів
npx playwright test --only-changed
# запустити тести які відрізняються від "main" бранчі
npx playwrigh test --only-changed=main
Component Testing: New router fixture
Нова експериментальна фікстура router для перехоплення та обробки запитів під час компонентного тестування. Є два способи використання фікстури router:
- виклик
router.route(url, handler)
, схоже на page.route(); - виклик
router.use(handlers)
і передача MSW хендлерів запитів до нього.
Приклад повторного використання наявних обробників MSW у тесті
import { handlers } from '@src/mocks/handlers'; test.beforeEach(async ({ router }) => { // встановіть тут загальні обробники перед кожним тестом
await router.use(...handlers); }); test('example test', async ({ mount }) => { // а тут уже обробники активні
// ... });
Але ця фікстура доступна тільки для компонентних тестів.
UI Mode / Trace Viewer Updates
- Тестові анотації тепер відображаються в UI-режимі.
- Вміст текстових вкладень тепер відображається вбудованим на панелі вкладень.
- Нове налаштування для показу/приховання дій маршрутизації, таких як route.continue().
- Метод і статус запиту відображаються на вкладці деталей нетворку.
- Нова кнопка для копіювання вихідного файлу в буфер обміну.
- На панелі метаданих тепер відображається baseURL.
Всяке різне
- Нова опція
maxRetries
у apiRequestContext.fetch(), яка повторює спробу після помилки ECONNRESET. - Нова опція ізоляції фікстури, щоб мінімізувати вплив фікстури в звітах та повідомленнях про помилки.
Приклад:import { test as base } from '@playwright/test'; export const test = base.extend({ helperFixture: [async ({}, use, testInfo) => { // ... }, { box: true }], });
- Нова опція для надання кастомної назви фікстури для використання у звітах та повідомленнях про помилки.
Приклад:import { test as base } from '@playwright/test'; export const test = base.extend({ innerFixture: [async ({}, use, testInfo) => { // ... }, { title: 'my fixture' }], });
Браузери
- Chromium 128.0.6613.18
- Mozilla Firefox 128.0
- WebKit 18.0
- Google Chrome 127
- Microsoft Edge 127
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів