Spec-Zone.ru › Playwright

TestOptions

Playwright Test предоставляет множество параметров для настройки тестового окружения, браузера, контекста браузера и многого другого.

Обычно эти параметры задаются в файле конфигурации с помощью testConfig.use и testProject.use.

import { defineConfig } from '@playwright/test';
export default defineConfig({
  use: {
    headless: false,
    viewport: { width: 1280, height: 720 },
    ignoreHTTPSErrors: true,
    video: 'on-first-retry',
  },
});

Кроме того, с помощью test.use() можно переопределить некоторые параметры для отдельного файла.

import { test, expect } from '@playwright/test';

// Run tests in this file with portrait-like viewport.
test.use({ viewport: { width: 600, height: 900 } });

test('my portrait test', async ({ page }) => {
  // ...
});

Свойства​

acceptDownloads​

Автоматически ли загружать все вложения. По умолчанию — true, то есть загрузка всех файлов разрешена.

Использование

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

export default defineConfig({
  use: {
    acceptDownloads: false,
  },
});

Тип

  • boolean

actionTimeout​

Тайм-аут по умолчанию для каждого действия Playwright в миллисекундах; по умолчанию равен 0 (без тайм-аута).

Это тайм-аут по умолчанию для всех действий Playwright, аналогичный заданному с помощью page.setDefaultTimeout().

Использование

import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  use: {
    /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */
    actionTimeout: 0,
  },
});

Подробнее о различных тайм-аутах.

Тип

  • number

baseURL​

При вызове page.goto(), page.route(), page.waitForURL(), page.waitForRequest() или page.waitForResponse() учитывается базовый URL: для построения соответствующего URL используется конструктор URL(). По умолчанию не задан. Примеры:

  • baseURL: http://localhost:3000 и переход по адресу /bar.html приводит к http://localhost:3000/bar.html
  • baseURL: http://localhost:3000/foo/ и переход по адресу ./bar.html приводит к http://localhost:3000/foo/bar.html
  • baseURL: http://localhost:3000/foo (без завершающего слеша) и переход по адресу ./bar.html приводит к http://localhost:3000/bar.html

Использование

import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  use: {
    /* Base URL to use in actions like `await page.goto('/')`. */
    baseURL: 'http://localhost:3000',
  },
});

Тип

  • string

browserName​

Название браузера, в котором выполняются тесты. По умолчанию — 'chromium'. В большинстве случаев следует задавать browserName в TestConfig:

Использование

import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  use: {
    browserName: 'firefox',
  },
});

Тип

  • "chromium" | "firefox" | "webkit"

bypassCSP​

Включает или отключает обход Content-Security-Policy страницы. По умолчанию — false.

Использование

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

export default defineConfig({
  use: {
    bypassCSP: true,
  }
});

Тип

  • boolean

channel​

Канал распространения браузера.

Используйте "chromium", чтобы включить новый режим без графического интерфейса.

Используйте "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev" или "msedge-canary", чтобы запускать брендированные версии Google Chrome и Microsoft Edge.

Использование

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

export default defineConfig({
  projects: [
    {
      name: 'Microsoft Edge',
      use: {
        ...devices['Desktop Edge'],
        channel: 'msedge'
      },
    },
  ]
});

Тип

  • string

clientCertificates​

Аутентификация клиента TLS позволяет серверу запросить сертификат клиента и проверить его.

Использование

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

export default defineConfig({
  use: {
    clientCertificates: [{
      origin: 'https://example.com',
      certPath: './cert.pem',
      keyPath: './key.pem',
      passphrase: 'mysecretpassword',
    }],
  },
});

Тип

  • Array<Object>
    • origin string

      Точный origin, для которого действителен сертификат. Origin включает протокол https, имя хоста и, при необходимости, порт.

    • certPath string (необязательно)

      Путь к файлу с сертификатом в формате PEM.

    • cert Buffer (необязательно)

      Непосредственное значение сертификата в формате PEM.

    • keyPath string (необязательно)

      Путь к файлу с закрытым ключом в формате PEM.

    • key Buffer (необязательно)

      Непосредственное значение закрытого ключа в формате PEM.

    • pfxPath string (необязательно)

      Путь к файлу с закрытым ключом и цепочкой сертификатов в формате PFX или PKCS12.

    • pfx Buffer (необязательно)

      Непосредственное значение закрытого ключа и цепочки сертификатов в формате PFX или PKCS12.

    • passphrase string (необязательно)

      Парольная фраза для закрытого ключа (PEM или PFX).

Подробности

Массив сертификатов клиентов, которые будут использоваться. Каждый объект сертификата должен содержать либо оба свойства certPath и keyPath, либо только pfxPath, либо соответствующие им непосредственные значения (cert и key или pfx). Если сертификат зашифрован, можно также указать свойство passphrase. Свойство origin должно точно соответствовать origin запроса, для которого действителен сертификат.

Аутентификация с сертификатом клиента активна только при наличии хотя бы одного сертификата клиента. Чтобы отклонить все сертификаты клиентов, отправленные сервером, необходимо указать сертификат клиента с origin, не совпадающим ни с одним доменом, который вы планируете посетить.

примечание

При использовании WebKit в macOS обращение к localhost не приведёт к использованию сертификатов клиентов. Это можно исправить, заменив localhost на local.playwright.

colorScheme​

Эмулирует медиахарактеристику prefers-colors-scheme; поддерживаются значения 'light' и 'dark'. Подробнее см. в описании page.emulateMedia(). Передача null сбрасывает эмуляцию к системным настройкам. По умолчанию — 'light'.

Использование

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

export default defineConfig({
  use: {
    colorScheme: 'dark',
  },
});

Тип

  • null | "light" | "dark" | "no-preference"

connectOptions​

Использование

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

export default defineConfig({
  use: {
    connectOptions: {
      wsEndpoint: 'ws://localhost:5678',
    },
  },
});

Если указаны параметры подключения, фикстуры по умолчанию fixtures.browser, fixtures.context и fixtures.page используют удалённый браузер вместо локального запуска браузера, а параметры запуска, например testOptions.headless или testOptions.channel, игнорируются.

Тип

  • void | Object
    • wsEndpoint string

      Адрес веб-сокета браузера для подключения.

    • headers void | Object<string, string> (необязательно)

      Дополнительные HTTP-заголовки, отправляемые вместе с запросом на подключение через веб-сокет. Необязательно.

    • timeout number (необязательно)

      Тайм-аут установления соединения в миллисекундах. Необязательно; по умолчанию тайм-аут отсутствует.

    • exposeNetwork string (необязательно)

      Параметр для предоставления браузеру доступа к сети клиента, устанавливающего соединение. Подробнее см. в описании browserType.connect().

contextOptions​

Параметры создания контекста, передаваемые в browser.newContext(). Отдельные параметры, например testOptions.viewport, имеют приоритет над ними.

Использование

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

export default defineConfig({
  use: {
    contextOptions: {
      reducedMotion: 'reduce',
    },
  },
});

Тип

  • Object

contrast​

Эмулирует медиахарактеристику 'prefers-contrast'; поддерживаются значения 'no-preference', 'more'. Подробнее см. в описании page.emulateMedia(). Передача null сбрасывает эмуляцию к системным настройкам. По умолчанию — 'no-preference'.

Использование

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

export default defineConfig({
  use: {
    contrast: 'more',
  },
});

Тип

  • null | "no-preference" | "more"

deviceScaleFactor​

Задаёт коэффициент масштабирования устройства (его можно считать аналогом dpr). По умолчанию — 1. Подробнее об эмуляции устройств с коэффициентом масштабирования.

Использование

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

export default defineConfig({
  use: {
    viewport: { width: 2560, height: 1440 },
    deviceScaleFactor: 2,
  },
});

Тип

  • number

extraHTTPHeaders​

Объект с дополнительными HTTP-заголовками, отправляемыми с каждым запросом. По умолчанию отсутствуют.

Использование

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

export default defineConfig({
  use: {
    extraHTTPHeaders: {
      'X-My-Header': 'value',
    },
  },
});

Тип

  • Object<string, string>

forcedColors​

Эмулирует медиахарактеристику 'forced-colors'; поддерживаются значения 'active', 'none'. Подробнее см. в описании page.emulateMedia(). Передача null сбрасывает эмуляцию к системным настройкам. По умолчанию — 'none'.

Использование

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

export default defineConfig({
  use: {
    forcedColors: 'active',
  },
});

Тип

  • null | "active" | "none"

geolocation​

Использование

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

export default defineConfig({
  use: {
    geolocation: { longitude: 12.492507, latitude: 41.889938 },
  },
});

Подробнее о геолокации.

Тип

  • Object
    • latitude number

      Широта от -90 до 90.

    • longitude number

      Долгота от -180 до 180.

    • accuracy number (необязательно)

      Неотрицательное значение точности. По умолчанию — 0.

hasTouch​

Указывает, поддерживает ли область просмотра сенсорные события. По умолчанию — false. Подробнее о эмуляции мобильных устройств.

Использование

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

export default defineConfig({
  use: {
    hasTouch: true
  },
});

Тип

  • boolean

headless​

Запускать ли браузер в режиме без графического интерфейса. Подробнее о Chromium и Firefox. По умолчанию — true.

Использование

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

export default defineConfig({
  use: {
    headless: false
  },
});

Тип

  • boolean

httpCredentials​

Учётные данные для HTTP-аутентификации. Если origin не указан, имя пользователя и пароль отправляются на любые серверы в ответ на неавторизованные запросы.

Передайте массив, чтобы использовать разные учётные данные для разных origin. Используются первая запись, соответствующая origin запроса, а записи без origin соответствуют любому запросу.

Использование

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

export default defineConfig({
  use: {
    httpCredentials: {
      username: 'user',
      password: 'pass',
    },
  },
});

Тип

  • Object | Array<Object>
    • username string

    • password string

    • origin string (необязательно)

      Ограничивает отправку учётных данных HTTP указанным origin (scheme://host:port).

    • send "unauthorized" | "always" (необязательно)

      Этот параметр применяется только к запросам, отправляемым соответствующим APIRequestContext, и не влияет на запросы браузера. 'always' — заголовок Authorization с учётными данными для базовой аутентификации отправляется с каждым запросом API. 'unauthorized — учётные данные отправляются только при получении ответа 401 (Unauthorized) с заголовком WWW-Authenticate. По умолчанию — 'unauthorized'.

ignoreHTTPSErrors​

Игнорировать ли ошибки HTTPS при отправке сетевых запросов. По умолчанию — false.

Использование

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

export default defineConfig({
  use: {
    ignoreHTTPSErrors: true,
  },
});

Тип

  • boolean

isMobile​

Учитывается ли тег meta viewport и включены ли сенсорные события. isMobile — часть устройства, поэтому задавать его вручную не требуется. По умолчанию — false; в Firefox не поддерживается. Подробнее об эмуляции мобильных устройств.

Использование

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

export default defineConfig({
  use: {
    isMobile: false,
  },
});

Тип

  • boolean

javaScriptEnabled​

Включать ли JavaScript в контексте. По умолчанию — true. Подробнее об отключении JavaScript.

Использование

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

export default defineConfig({
  use: {
    javaScriptEnabled: false,
  },
});

Тип

  • boolean

launchOptions​

Параметры запуска браузера, передаваемые в browserType.launch(). Отдельные параметры testOptions.headless и testOptions.channel имеют приоритет над ними.

предупреждение

Используйте собственные аргументы браузера на свой страх и риск: некоторые из них могут нарушить работу Playwright.

Использование

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

export default defineConfig({
  projects: [
    {
      name: 'chromium',
      use: {
        ...devices['Desktop Chrome'],
        launchOptions: {
          args: ['--start-maximized']
        }
      }
    }
  ]
});

Тип

  • Object

locale​

Задаёт локаль пользователя, например en-GB, de-DE и т. д. Локаль влияет на значение navigator.language, значение заголовка запроса Accept-Language, а также на правила форматирования чисел и дат. По умолчанию — en-US. Подробнее об эмуляции см. в нашем руководстве по эмуляции.

Использование

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

export default defineConfig({
  use: {
    locale: 'it-IT',
  },
});

Тип

  • string

navigationTimeout​

Тайм-аут для каждого действия навигации в миллисекундах. По умолчанию равен 0 (без тайм-аута).

Это тайм-аут навигации по умолчанию, аналогичный заданному с помощью page.setDefaultNavigationTimeout().

Использование

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

export default defineConfig({
  use: {
    navigationTimeout: 3000,
  },
});

Подробнее о различных тайм-аутах.

Тип

  • number

offline​

Эмулировать ли отсутствие подключения к сети. По умолчанию — false. Подробнее об эмуляции сети.

Использование

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

export default defineConfig({
  use: {
    offline: true
  },
});

Тип

  • boolean

permissions​

Список разрешений, предоставляемых всем страницам в этом контексте. Подробнее см. в описании browserContext.grantPermissions(). По умолчанию разрешения не предоставляются.

Использование

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

export default defineConfig({
  use: {
    permissions: ['notifications'],
  },
});

Тип

  • Array<string>

proxy​

Параметры сетевого прокси.

Использование

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

export default defineConfig({
  use: {
    proxy: {
      server: 'http://myproxy.com:3128',
      bypass: 'localhost',
    },
  },
});

Тип

  • Object
    • server string

      Прокси для всех запросов. Поддерживаются прокси HTTP и SOCKS, например http://myproxy.com:3128 или socks5://myproxy.com:3128. Краткая форма myproxy.com:3128 считается прокси HTTP.

    • bypass string (необязательно)

      Необязательный список доменов через запятую, для которых прокси не используется, например ".com, chromium.org, .domain.com".

    • username string (необязательно)

      Необязательное имя пользователя, если прокси HTTP требует аутентификации.

    • password string (необязательно)

      Необязательный пароль, если прокси HTTP требует аутентификации.

reducedMotion​

Эмулирует медиахарактеристику 'prefers-reduced-motion'; поддерживаются значения 'reduce', 'no-preference'. Подробнее см. в описании page.emulateMedia(). Передача null сбрасывает эмуляцию к системным настройкам. По умолчанию — 'no-preference'.

Использование

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

export default defineConfig({
  use: {
    reducedMotion: 'reduce',
  },
});

Тип

  • null | "reduce" | "no-preference"

screenshot​

Автоматически ли делать снимок экрана после каждого теста. По умолчанию — 'off'.

  • 'off': Не делать снимки экрана.
  • 'on': Делать снимок экрана после каждого теста.
  • 'only-on-failure': Делать снимок экрана после каждого сбоя теста.
  • 'on-first-failure': Делать снимок экрана после первого сбоя каждого теста.

Использование

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

export default defineConfig({
  use: {
    screenshot: 'only-on-failure',
  },
});

Подробнее об автоматических снимках экрана.

Тип

  • Object | "off" | "on" | "only-on-failure" | "on-first-failure"
    • mode "off" | "on" | "only-on-failure" | "on-first-failure"

      Режим автоматического создания снимков экрана.

    • fullPage boolean (необязательно)

      Если значение равно true, делается снимок всей прокручиваемой страницы, а не только видимой в данный момент области просмотра. Значение по умолчанию — false.

    • omitBackground boolean (необязательно)

      Скрывает белый фон по умолчанию и позволяет делать снимки экрана с прозрачностью. Не применяется к изображениям jpeg. Значение по умолчанию — false.

serviceWorkers​

Разрешить ли сайтам регистрировать сервис-воркеры. По умолчанию — 'allow'.

  • 'allow': можно регистрировать сервис-воркеры.
  • 'block': Playwright заблокирует регистрацию всех сервис-воркеров.

Использование

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

export default defineConfig({
  use: {
    serviceWorkers: 'allow'
  },
});

Тип

  • "allow" | "block"

storageState​

Подробнее о состоянии хранилища и аутентификации.

Заполняет контекст заданным состоянием хранилища. Этот параметр можно использовать для инициализации контекста информацией о входе в систему, полученной с помощью browserContext.storageState().

Использование

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

export default defineConfig({
  use: {
    storageState: 'storage-state.json',
  },
});

Тип

  • string | Object
    • cookies Array<Object>

      • name string

      • value string

      • domain string

        Домен и путь обязательны. Чтобы cookie применялась ко всем поддоменам, добавьте точку перед доменом, например: ".example.com"

      • path string

        Домен и путь обязательны

      • expires number

        Время Unix в секундах.

      • httpOnly boolean

      • secure boolean

      • sameSite "Strict" | "Lax" | "None"

        Флаг sameSite

      Файлы cookie, которые нужно установить для контекста

    • origins Array<Object>

      • origin string

      • localStorage Array<Object>

        • name string

        • value string

        localStorage, который нужно установить для контекста

Подробности

Если состояние хранилища задано в конфигурации, его можно сбросить для файла:

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

// Reset storage state for this file to avoid being authenticated
test.use({ storageState: { cookies: [], origins: [] } });

test('not signed in test', async ({ page }) => {
  // ...
});

testIdAttribute​

Пользовательский атрибут, используемый в page.getByTestId(). По умолчанию используется data-testid. Чтобы находить элементы по любому из нескольких атрибутов, передайте их списком, разделённым запятыми.

Использование

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

export default defineConfig({
  use: {
    testIdAttribute: 'pw-test-id',
  },
});

Несколько атрибутов:

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

export default defineConfig({
  use: {
    testIdAttribute: 'data-pw,data-ti',
  },
});

timezoneId​

Изменяет часовой пояс контекста. Список поддерживаемых идентификаторов часовых поясов см. в файле metaZones.txt из ICU. По умолчанию используется системный часовой пояс.

Использование

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

export default defineConfig({
  use: {
    timezoneId: 'Europe/Rome',
  },
});

Тип

  • string

trace​

Записывать ли трассировку для каждого теста. По умолчанию — 'off'. Первый запуск теста считается «первым запуском», а последующие запуски, вызванные повторными попытками, — «повторными попытками».

  • 'off': Не записывать трассировку.
  • 'on': Записывать и сохранять трассировку для каждого запуска.
  • 'on-first-retry': Записывать и сохранять трассировку только для первой повторной попытки теста.
  • 'on-all-retries': Записывать и сохранять трассировку для каждой повторной попытки.
  • 'retain-on-failure': Записывать трассировку для каждого запуска, но сохранять её только для завершившихся сбоем запусков. Трассировка неудачного запуска сохраняется, даже если последующая повторная попытка завершается успешно.
  • 'retain-on-first-failure': Записывать трассировку только для первого запуска теста (не для повторных попыток) и сохранять её, только если этот запуск завершился сбоем.
  • 'retain-on-failure-and-retries': Записывать трассировку для каждого запуска и сохранять её для всех запусков, завершившихся сбоем или являющихся повторными попытками.

См. режимы трассировки для сравнения того, что записывает и сохраняет каждый режим.

Для более точной настройки передайте объект, задающий mode и включаемые функции трассировки.

Использование

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

export default defineConfig({
  use: {
    trace: 'on-first-retry'
  },
});

Подробнее о записи трассировки.

Тип

  • Object | "off" | "on" | "retain-on-failure" | "on-first-retry" | "retain-on-first-failure" | "retain-on-failure-and-retries"
    • mode "off" | "on" | "retain-on-failure" | "on-first-retry" | "on-all-retries" | "retain-on-first-failure" | "retain-on-failure-and-retries"

      Режим записи трассировки.

    • attachments boolean (необязательно)

      Включать ли вложения теста. По умолчанию — true. Необязательно.

    • screenshots boolean (необязательно)

      Делать ли снимки экрана во время записи трассировки. Снимки экрана используются для создания предварительного просмотра временной шкалы. По умолчанию — true. Необязательно.

    • snapshots boolean | Object (необязательно)

      • dom boolean (необязательно)

        Сохранять снимок DOM при каждом действии и записывать сетевую активность. Необязательно.

      • aria boolean (необязательно)

        Сохранять снимок aria страницы при каждом действии. Необязательно.

      • screen boolean (необязательно)

        Делать снимок экрана страницы при каждом действии. Необязательно.

      Какие снимки сохранять при каждом действии. Передача true является сокращённой записью для { dom: true }. По умолчанию — true. Необязательно.

    • sources boolean (необязательно)

      Включать ли исходные файлы для действий трассировки. По умолчанию — true. Необязательно.

userAgent​

Пользовательский агент, используемый в этом контексте.

Использование

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

export default defineConfig({
  use: {
    userAgent: 'some custom ua',
  },
});

Тип

  • string

video​

Записывать ли видео для каждого теста. По умолчанию — 'off'. Первый запуск теста считается «первым запуском», а последующие запуски, вызванные повторными попытками, — «повторными попытками».

  • 'off': Не записывать видео.
  • 'on': Записывать и сохранять видео для каждого запуска.
  • 'on-first-retry': Записывать и сохранять видео только для первой повторной попытки теста.
  • 'on-all-retries': Записывать и сохранять видео для каждой повторной попытки.
  • 'retain-on-failure': Записывать видео для каждого запуска, но сохранять его только для завершившихся сбоем запусков. Видео неудачного запуска сохраняется, даже если последующая повторная попытка завершается успешно.
  • 'retain-on-first-failure': Записывать видео только для первого запуска теста (не для повторных попыток) и сохранять его, только если этот запуск завершился сбоем.
  • 'retain-on-failure-and-retries': Записывать видео для каждого запуска и сохранять его для всех запусков, завершившихся сбоем или являющихся повторными попытками.

См. режимы записи видео для сравнения того, что записывает и сохраняет каждый режим.

Чтобы задать размер видео, передайте объект со свойствами mode и size. Если размер видео не задан, он будет соответствовать testOptions.viewport, уменьшенному до размеров не более 800x800. Если параметр viewport не задан явно, размер видео по умолчанию составляет 800x450. Изображение каждой страницы при необходимости будет уменьшено до указанного размера.

Чтобы добавлять к действиям аннотации в видео, передайте show с подопциями action и/или test. Параметр action задаёт визуальные выделения взаимодействующих элементов и принимает необязательное значение delay в миллисекундах (по умолчанию — 500). Параметр test задаёт, какая информация о тесте отображается в виде наложенного статуса.

Использование

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

export default defineConfig({
  use: {
    video: 'on-first-retry',
  },
});

Подробнее о записи видео.

Тип

  • Object | "off" | "on" | "retain-on-failure" | "on-first-retry" | "on-all-retries" | "retain-on-first-failure" | "retain-on-failure-and-retries"
    • mode "off" | "on" | "retain-on-failure" | "on-first-retry" | "on-all-retries" | "retain-on-first-failure" | "retain-on-failure-and-retries"

      Режим записи видео.

    • size Object (необязательно)

      • width number

      • height number

      Размер записываемого видео. Необязательно.

    • show Object (необязательно)

      • actions Object (необязательно)

        • duration number (необязательно)

          Длительность отображения каждой аннотации в миллисекундах. По умолчанию — 500.

        • position "top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (необязательно)

          Положение наложенного заголовка действия. По умолчанию — "top-right".

        • fontSize number (необязательно)

          Размер шрифта заголовка действия в пикселях. По умолчанию — 24.

        • cursor "none" | "pointer" (необязательно)

          Оформление курсора для действий с указателем. "pointer" (значение по умолчанию) отображает указатель мыши, который перемещается от точки предыдущего действия к точке следующего. "none" отключает оформление курсора.

        Управляет визуальными аннотациями взаимодействующих элементов.

      • test Object (необязательно)

        • level "file" | "test" | "step" (необязательно)

          Уровень детализации сведений о текущем тесте.

        • position "top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (необязательно)

          Положение наложенной информации о тесте. По умолчанию — "top-left".

        • fontSize number (необязательно)

          Размер шрифта сведений о тесте в пикселях. По умолчанию — 14.

        Управляет сведениями о тесте, отображаемыми в видео в виде наложенного статуса.

      Если параметр задан, к видео добавляются визуальные аннотации со сведениями о тесте и выделением действий.

viewport​

Использует единый размер области просмотра для каждой страницы. По умолчанию — 1280x720. Используйте null, чтобы отключить эмуляцию единого размера области просмотра. Подробнее об эмуляции области просмотра.

примечание

Значение null отменяет предустановки по умолчанию и привязывает область просмотра к размеру окна хоста, заданному операционной системой. Это делает выполнение тестов недетерминированным.

Использование

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

export default defineConfig({
  use: {
    viewport: { width: 100, height: 100 },
  },
});

Тип

  • null | Object
    • width number

      Ширина страницы в пикселях.

    • height number

      Высота страницы в пикселях.

Устаревшее​

reuseContext​

Не рекомендуется

Этот параметр снижает изоляцию тестов ради повышения скорости и предназначен для компонентных тестов, работающих с галереей историй. Для сквозных тестов не задавайте его: новый контекст браузера для каждого теста — одна из ключевых гарантий Playwright Test.

Экспериментально. Если задано значение true, все тесты в рабочем процессе выполняются в одном контексте браузера, который используется повторно, вместо создания нового контекста для каждого теста. По умолчанию — false.

Между тестами Playwright сбрасывает состояние, с которым обычно взаимодействуют компонентные тесты: очищает файлы cookie, кэш, local storage и IndexedDB посещённых источников, отменяет регистрацию сервис-воркеров, закрывает дополнительные страницы, удаляет маршруты, привязки и скрипты инициализации, а также повторно применяет настроенное состояние хранилища, параметры области просмотра и эмуляции.

Этот сброс выполняется по возможности, но не гарантирует изоляцию. Состояние, которое не сбрасывается:

  • Разрешения, предоставленные во время теста с помощью browserContext.grantPermissions().
  • Изменения во время выполнения, внесённые с помощью browserContext.setGeolocation(), browserContext.setOffline() и browserContext.setExtraHTTPHeaders().
  • История браузера, window.name и любое состояние, общее для всего процесса браузера.

Дополнительные ограничения:

  • Параметр игнорируется, если включена запись testOptions.video.
  • Между последовательными тестами могут различаться только некоторые параметры контекста: colorScheme, forcedColors, reducedMotion, contrast, screen, userAgent, viewport и testIdAttribute. Изменение любого другого параметра в test.use(), например locale или storageState, незаметно приводит к созданию нового контекста и сводит на нет выигрыш в скорости.
  • Не используйте этот параметр вместе с testOptions.connectOptions, направляющим несколько рабочих процессов к общему браузеру: рабочие процессы будут конкурировать за единственный повторно используемый контекст.
  • recordHar в testOptions.contextOptions не поддерживается, поэтому файл HAR не создаётся.

Использование

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

export default defineConfig({
  projects: [
    {
      name: 'components',
      testDir: './tests/components',
      use: { reuseContext: true },
    },
  ],
});

Тип

  • boolean

© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-testoptions

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API