Spec-Zone.ru › Playwright

Браузеры

Введение​

Для работы каждой версии Playwright требуются определённые версии браузеров. Чтобы установить эти браузеры, необходимо использовать CLI Playwright.

С каждым выпуском Playwright обновляет версии поддерживаемых браузеров, поэтому последняя версия Playwright всегда поддерживает самые новые браузеры. Это означает, что после каждого обновления Playwright может потребоваться повторно выполнить команду CLI install.

Установка браузеров​

Playwright может установить поддерживаемые браузеры. При запуске команды без аргументов будут установлены браузеры по умолчанию.

npx playwright install

Вы также можете установить определённые браузеры, указав аргумент:

npx playwright install webkit

Список всех поддерживаемых браузеров:

npx playwright install --help

Установка системных зависимостей​

Системные зависимости можно установить автоматически. Это полезно для сред CI.

npx playwright install-deps

Вы также можете установить зависимости для одного браузера, передав его в качестве аргумента:

npx playwright install-deps chromium

Также можно объединить install-deps и install, чтобы установить браузеры и зависимости ОС одной командой.

npx playwright install --with-deps chromium

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

Регулярно обновляйте Playwright​

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

# Update playwright
npm install -D @playwright/test@latest

# Install new browsers
npx playwright install

Ознакомьтесь с примечаниями к выпускам, чтобы узнать номер последней версии и список внесённых изменений.

# See what version of Playwright you have by running the following command
npx playwright --version

Настройка браузеров​

Playwright может запускать тесты в браузерах Chromium, WebKit и Firefox, а также в фирменных браузерах, таких как Google Chrome и Microsoft Edge. Кроме того, он поддерживает эмуляцию планшетов и мобильных устройств. Полный список выбранных настольных компьютеров, планшетов и мобильных устройств см. в реестре параметров устройств.

Запуск тестов в разных браузерах​

Playwright может запускать тесты в нескольких браузерах и конфигурациях, если настроить в конфигурации проекты. Для каждого проекта также можно задать разные параметры.

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

export default defineConfig({
  projects: [
    /* Test against desktop browsers */
    {
      name: 'chromium',
      use: { ...devices['Desktop Chrome'] },
    },
    {
      name: 'firefox',
      use: { ...devices['Desktop Firefox'] },
    },
    {
      name: 'webkit',
      use: { ...devices['Desktop Safari'] },
    },
    /* Test against mobile viewports. */
    {
      name: 'Mobile Chrome',
      use: { ...devices['Pixel 5'] },
    },
    {
      name: 'Mobile Safari',
      use: { ...devices['iPhone 12'] },
    },
    /* Test against branded browsers. */
    {
      name: 'Google Chrome',
      use: { ...devices['Desktop Chrome'], channel: 'chrome' }, // or 'chrome-beta'
    },
    {
      name: 'Microsoft Edge',
      use: { ...devices['Desktop Edge'], channel: 'msedge' }, // or 'msedge-dev'
    },
  ],
});

По умолчанию Playwright запускает все проекты.

npx playwright test

Running 7 tests using 5 workers

  ✓ [chromium] › example.spec.ts:3:1 › basic test (2s)
  ✓ [firefox] › example.spec.ts:3:1 › basic test (2s)
  ✓ [webkit] › example.spec.ts:3:1 › basic test (2s)
  ✓ [Mobile Chrome] › example.spec.ts:3:1 › basic test (2s)
  ✓ [Mobile Safari] › example.spec.ts:3:1 › basic test (2s)
  ✓ [Google Chrome] › example.spec.ts:3:1 › basic test (2s)
  ✓ [Microsoft Edge] › example.spec.ts:3:1 › basic test (2s)

Используйте параметр командной строки --project, чтобы запустить один проект.

npx playwright test --project=firefox

Running 1 test using 1 worker

  ✓ [firefox] › example.spec.ts:3:1 › basic test (2s)

С помощью расширения для VS Code можно запускать тесты в разных браузерах, установив флажок рядом с именем браузера на боковой панели Playwright. Эти имена указаны в разделе projects файла конфигурации Playwright. В конфигурации по умолчанию, создаваемой при установке Playwright, предусмотрено 3 проекта: Chromium, Firefox и WebKit. По умолчанию выбран первый проект.

Projects section in VS Code extension

Чтобы запустить тесты в нескольких проектах (браузерах), установите флажок рядом с именем каждого проекта.

Selecting projects to run tests on

Chromium​

Для Google Chrome, Microsoft Edge и других браузеров на базе Chromium Playwright по умолчанию использует сборки Chromium с открытым исходным кодом. Проект Chromium развивается быстрее, чем фирменные браузеры: когда в мире используется Google Chrome N, Playwright уже поддерживает Chromium N+1, который появится в Google Chrome и Microsoft Edge через несколько недель.

Chromium: оболочка для безголового режима​

Playwright включает обычную сборку Chromium для запуска с графическим интерфейсом и отдельную оболочку Chromium для безголового режима.

Если вы запускаете тесты только в безголовой оболочке (то есть параметр channel не указан), например в CI, можно не скачивать полный браузер Chromium, передав --only-shell при установке.

# only running tests headlessly
npx playwright install --with-deps --only-shell

Chromium: новый безголовый режим​

Вы можете включить новый безголовый режим с помощью канала 'chromium'. Как сказано в официальной документации Chrome:

Новый безголовый режим, напротив, использует настоящий браузер Chrome, поэтому он более аутентичен и надёжен и поддерживает больше возможностей. Это делает его более подходящим для высокоточного сквозного тестирования веб-приложений и тестирования расширений браузера.

Подробности см. в задаче № 33566.

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

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

В новом безголовом режиме можно не скачивать оболочку для безголового режима при установке браузеров, используя параметр --no-shell:

# only running tests headlessly
npx playwright install --with-deps --no-shell

Google Chrome и Microsoft Edge​

Playwright может скачивать и использовать актуальную сборку Chromium, но также может работать с фирменными браузерами Google Chrome и Microsoft Edge, установленными на компьютере (обратите внимание: Playwright не устанавливает их по умолчанию). В частности, текущая версия Playwright поддерживает стабильный и бета-каналы этих браузеров.

Доступны каналы chrome, msedge, chrome-beta, msedge-beta, chrome-dev, msedge-dev, chrome-canary, msedge-canary.

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

Некоторые корпоративные политики браузера могут влиять на возможность Playwright запускать Google Chrome и Microsoft Edge и управлять ими. Работа в среде с политиками браузера не входит в сферу ответственности проекта Playwright.

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

В Google Chrome и Microsoft Edge перешли на реализацию нового безголового режима, который ближе к обычному режиму с графическим интерфейсом. Он отличается от оболочки Chromium для безголового режима, используемой Playwright по умолчанию при запуске без графического интерфейса, поэтому в некоторых случаях поведение будет отличаться. Подробности см. в задаче № 33566.

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

export default defineConfig({
  projects: [
    /* Test against branded browsers. */
    {
      name: 'Google Chrome',
      use: { ...devices['Desktop Chrome'], channel: 'chrome' }, // or 'chrome-beta'
    },
    {
      name: 'Microsoft Edge',
      use: { ...devices['Desktop Edge'], channel: 'msedge' }, // or "msedge-beta" or 'msedge-dev'
    },
  ],
});

Установка Google Chrome и Microsoft Edge​

Если Google Chrome или Microsoft Edge не установлен на компьютере, их можно установить с помощью инструмента командной строки Playwright:

npx playwright install msedge
предупреждение

Google Chrome и Microsoft Edge будут установлены в расположение по умолчанию для вашей операционной системы, заменив текущую установку браузера.

Используйте параметр --help, чтобы просмотреть полный список браузеров, доступных для установки.

Когда использовать Google Chrome и Microsoft Edge, а когда нет?​

По умолчанию​

В большинстве случаев рекомендуется использовать конфигурацию Playwright по умолчанию с последней версией Chromium. Поскольку Playwright опережает стабильные каналы браузеров, можно быть уверенным, что предстоящие выпуски Google Chrome или Microsoft Edge не нарушат работу сайта. Вы обнаружите проблемы заранее и у вас будет достаточно времени исправить их до официального обновления Chrome.

Регрессионное тестирование​

При этом правила тестирования часто требуют проводить регрессионное тестирование в текущих общедоступных версиях браузеров. В этом случае можно выбрать один из стабильных каналов: "chrome" или "msedge".

Медиакодеки​

Ещё одна причина тестировать приложение в официальных сборках — проверка функций, связанных с медиакодеками. В Chromium доступны не все кодеки, включённые в Google Chrome или Microsoft Edge, из-за различных лицензионных ограничений и соглашений. Если ваш сайт использует такие кодеки (что бывает редко), вам также следует выбрать официальный канал.

Корпоративные политики​

Google Chrome и Microsoft Edge соблюдают корпоративные политики, которые могут ограничивать возможности браузера, настраивать сетевой прокси и устанавливать обязательные расширения, мешающие тестированию. Поэтому, если вы работаете в организации, где действуют такие политики, для локального тестирования проще использовать Chromium из комплекта поставки. При этом на ботах, которые обычно не имеют подобных ограничений, можно выбрать стабильные каналы.

Firefox​

Версия Firefox в Playwright соответствует актуальной сборке стабильной версии Firefox. Playwright не работает с фирменной версией Firefox, поскольку для его работы требуются патчи.

Обратите внимание: доступность некоторых функций, во многом зависящих от платформы, может различаться в разных операционных системах. Например, набор доступных медиакодеков существенно различается в Linux, macOS и Windows.

WebKit​

WebKit в Playwright основан на исходном коде последней основной ветки WebKit; зачастую эти изменения ещё не включены в Apple Safari и другие браузеры на базе WebKit. Это даёт много времени, чтобы отреагировать на потенциальные проблемы после обновления браузера. Playwright не работает с фирменной версией Safari, поскольку для его работы требуются патчи. Вместо этого можно тестировать приложение в самой свежей сборке WebKit.

Обратите внимание: доступность некоторых функций, во многом зависящих от платформы, может различаться в разных операционных системах. Например, набор доступных медиакодеков существенно различается в Linux, macOS и Windows. Хотя запуск WebKit в CI на Linux обычно обходится дешевле всего, для максимально близкого к Safari опыта следует запускать WebKit на Mac, например при тестировании воспроизведения видео.

Установка за брандмауэром или через прокси​

По умолчанию Playwright скачивает браузеры с CDN Microsoft.

Иногда компании используют внутренний прокси-сервер, который блокирует прямой доступ к общедоступным ресурсам. В этом случае Playwright можно настроить на скачивание браузеров через прокси-сервер.

  • Bash
  • PowerShell
  • Batch
HTTPS_PROXY=https://192.0.2.1 npx playwright install
$Env:HTTPS_PROXY="https://192.0.2.1"
npx playwright install
set HTTPS_PROXY=https://192.0.2.1
npx playwright install

Если запросы прокси перехватываются с использованием недоверенного пользовательского центра сертификации (CA), что приводит к ошибке Error: self signed certificate in certificate chain при скачивании браузеров, перед установкой необходимо указать пользовательские корневые сертификаты с помощью переменной среды NODE_EXTRA_CA_CERTS:

  • Bash
  • PowerShell
  • Batch
export NODE_EXTRA_CA_CERTS="/path/to/cert.pem"
$Env:NODE_EXTRA_CA_CERTS="C:\certs\root.crt"
set NODE_EXTRA_CA_CERTS="C:\certs\root.crt"

Если подключение к архиву браузеров Playwright по вашей сети происходит медленно, можно увеличить время ожидания соединения в миллисекундах с помощью переменной среды PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT:

  • Bash
  • PowerShell
  • Batch
PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT=120000 npx playwright install
$Env:PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT="120000"
npx playwright install
set PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT=120000
npx playwright install

Если вы устанавливаете зависимости и вам нужно использовать прокси в Linux, обязательно запустите команду от имени пользователя root. В противном случае Playwright попытается получить права root и не передаст переменные среды, например HTTPS_PROXY, менеджеру пакетов Linux.

sudo HTTPS_PROXY=https://192.0.2.1 npx playwright install-deps

Скачивание из репозитория артефактов​

По умолчанию Playwright скачивает браузеры с CDN Microsoft.

Иногда компании используют внутренний репозиторий артефактов для хранения бинарных файлов браузеров. В этом случае Playwright можно настроить на скачивание из пользовательского расположения с помощью переменной среды PLAYWRIGHT_DOWNLOAD_HOST.

  • Bash
  • PowerShell
  • Batch
PLAYWRIGHT_DOWNLOAD_HOST=http://192.0.2.1 npx playwright install
$Env:PLAYWRIGHT_DOWNLOAD_HOST="http://192.0.2.1"
npx playwright install
set PLAYWRIGHT_DOWNLOAD_HOST=http://192.0.2.1
npx playwright install

Также можно указать отдельные источники скачивания для каждого браузера с помощью переменных среды PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST, PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST и PLAYWRIGHT_WEBKIT_DOWNLOAD_HOST, которые имеют приоритет над PLAYWRIGHT_DOWNLOAD_HOST.

  • Bash
  • PowerShell
  • Batch
PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST=http://203.0.113.3 PLAYWRIGHT_DOWNLOAD_HOST=http://192.0.2.1 npx playwright install
$Env:PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST="http://203.0.113.3"
$Env:PLAYWRIGHT_DOWNLOAD_HOST="http://192.0.2.1"
npx playwright install
set PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST=http://203.0.113.3
set PLAYWRIGHT_DOWNLOAD_HOST=http://192.0.2.1
npx playwright install

Управление бинарными файлами браузеров​

Playwright скачивает браузеры Chromium, WebKit и Firefox в кэш-папки, расположение которых зависит от ОС:

  • %USERPROFILE%\AppData\Local\ms-playwright в Windows
  • ~/Library/Caches/ms-playwright в macOS
  • ~/.cache/ms-playwright в Linux

После установки эти браузеры займут несколько сотен мегабайт на диске:

du -hs ~/Library/Caches/ms-playwright/*
281M  chromium-XXXXXX
187M  firefox-XXXX
180M  webkit-XXXX

Вы можете переопределить поведение по умолчанию с помощью переменных среды. При установке Playwright укажите, чтобы браузеры скачивались в определённое расположение:

  • Bash
  • PowerShell
  • Batch
PLAYWRIGHT_BROWSERS_PATH=$HOME/pw-browsers npx playwright install
$Env:PLAYWRIGHT_BROWSERS_PATH="$Env:USERPROFILE\pw-browsers"
npx playwright install
set PLAYWRIGHT_BROWSERS_PATH=%USERPROFILE%\pw-browsers
npx playwright install

При запуске скриптов Playwright укажите, чтобы Playwright искал браузеры в общем расположении.

  • Bash
  • PowerShell
  • Batch
PLAYWRIGHT_BROWSERS_PATH=$HOME/pw-browsers npx playwright test
$Env:PLAYWRIGHT_BROWSERS_PATH="$Env:USERPROFILE\pw-browsers"
npx playwright test
set PLAYWRIGHT_BROWSERS_PATH=%USERPROFILE%\pw-browsers
npx playwright test

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

примечание

Разработчики могут включить этот режим, экспортировав PLAYWRIGHT_BROWSERS_PATH=$HOME/pw-browsers в своём .bashrc.

Изолированная установка​

Можно включить изолированную установку и разместить бинарные файлы в локальной папке:

  • Bash
  • PowerShell
  • Batch
# Places binaries to node_modules/playwright-core/.local-browsers
PLAYWRIGHT_BROWSERS_PATH=0 npx playwright install
# Places binaries to node_modules\playwright-core\.local-browsers
$Env:PLAYWRIGHT_BROWSERS_PATH=0
npx playwright install
# Places binaries to node_modules\playwright-core\.local-browsers
set PLAYWRIGHT_BROWSERS_PATH=0
npx playwright install
примечание

PLAYWRIGHT_BROWSERS_PATH не изменяет путь установки Google Chrome и Microsoft Edge.

Удаление устаревших браузеров​

Playwright отслеживает клиентов, использующих его браузеры. Когда для конкретной версии браузера больше не остаётся клиентов, которым она нужна, эта версия удаляется из системы. Благодаря этому можно безопасно использовать экземпляры Playwright разных версий и при этом не занимать место на диске браузерами, которые больше не используются.

Чтобы отказаться от удаления неиспользуемых браузеров, задайте переменную среды PLAYWRIGHT_SKIP_BROWSER_GC=1 или передайте параметр --no-remove команде установки:

npx playwright install --no-remove

Список всех установленных браузеров:​

Выводит список браузеров из всех установок Playwright на компьютере.

npx playwright install --list

Удаление браузеров​

Эта команда удалит браузеры (chromium, firefox, webkit) текущей установки Playwright:

npx playwright uninstall

Чтобы также удалить браузеры из других установок Playwright, передайте флаг --all:

npx playwright uninstall --all

© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/browsers

Spec-Zone.ru

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