Развертывание Playwright на VPS с предустановленным временем выполнения

Разверните Playwright на VPS с предустановленным Node.js и средой выполнения Chromium, затем запускайте тесты, сохраняйте отчеты, отслеживайте сбои и обновляйте безопасно.

VoyraCloud
13 августа 2026 г.
14 мин Время чтения
Поделиться:
deploy Playwright on VPS
Playwright application image
Playwright Chromium VPS
Playwright VPS
run Playwright on Linux
Развертывание Playwright на VPS с предустановленным временем выполнения

Разверните Playwright на инфраструктуре VPS, когда вам нужна постоянная среда Linux для тестирования от конца до конца, запланированных проверок браузера, скриншотов и авторизованных рабочих процессов браузера. Образ приложения VoyraCloud Playwright предоставляет Node.js, Playwright, Chromium и необходимые зависимости браузера для Linux. Вы подключаетесь через SSH, добавляете свой проект и запускаете безголовый Chromium, не exposing a browser-control service to the public internet.


TL;DR

  • Образ VoyraCloud Playwright является средой выполнения с приоритетом SSH, а не хостингом панели браузера или публичным API удаленного браузера.
  • Node.js, Playwright, Chromium и зависимости браузера для Linux предустановлены на Ubuntu, так что вы можете начать с предоставленного примера, а затем добавить свой проект.
  • Образ не открывает публичный порт, специфичный для Playwright. Отчеты и трассировки остаются на VPS, если вы не переносите или не обслуживаете их намеренно.
  • Держите пакет Playwright вашего проекта на той же точной версии, что и поставляемые бинарные файлы браузера. Несоответствие версий может помешать Playwright найти или запустить Chromium.
  • Запускайте задания браузера от имени пользователя, не имеющего прав root, с доступным песочницей Chromium. Не храните учетные данные третьих лиц непосредственно в исходных файлах или отчетах.
  • Начальные ресурсы следуют доступным планам продукта: 4 vCPU, 4 ГБ ОЗУ и 80 ГБ хранилища на Cloud VPS, или 2 vCPU, 4 ГБ ОЗУ и 60 ГБ хранилища на Residential IP VPS, с 2 ГБ среды общего доступа для одной проверенной сессии Chromium. Это не обещание фиксированной параллельности.
  • Файлы проекта и сохраненные артефакты сохраняются после обычной перезагрузки VPS. Сессии браузера в памяти, временные контексты и несохраненное состояние — нет.

Что включает образ приложения Playwright?

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

Предоставлено образомУправляемое пользователем или не включено
Ubuntu Linux runtimeВаше приложение и тестовый код
Совместимая среда Node.jsЗависимости npm, специфичные для проекта
Фиксированная стабильная версия PlaywrightАвтоматические обновления Playwright
Соответствующий бинарный файл браузера ChromiumFirefox или WebKit, если вы не установите и не проверите их
Необходимые зависимости браузера для LinuxУчетные записи третьих лиц, куки, ключи API или учетные данные цели
Безголевое выполнение браузера через SSHПубличная конечная точка управления браузером или веб-панель
2 ГБ среды общего доступа, проверенной для начальных воротГарантированная параллельная емкость браузера
Постоянное хранилище VPSАвтоматическое резервное копирование вне сервера
Предоставленный пример и проверка состоянияРазработка пользовательских скриптов или отладка от VoyraCloud

Детали ресурсов показывают версию Playwright, предоставленную при создании VPS. Это значение описывает исходное состояние образа; оно не меняется автоматически, если вы позже обновите свой проект. Храните файл блокировки зависимостей и операционные заметки как источник правды для последующих изменений, управляемых пользователем.


Быстрый старт: как развернуть Playwright на VPS

Самый быстрый путь — создать VPS с образом Playwright, подключиться через SSH, проверить предоставленную среду выполнения и запустить один тест Chromium с одним рабочим процессом. После предоставления нет панели браузера, которую нужно открыть.

  1. Откройте страницу VoyraCloud Playwright и продолжите к процессу покупки.
  2. Выберите подходящий план Cloud VPS или Residential IP VPS, затем выберите любой регион, который в настоящее время предлагается этим продуктом.
  3. Подтвердите, что Playwright выбран в разделе Изображения, создайте ресурс и дождитесь завершения предоставления.
  4. Откройте детали ресурса и используйте отображенную информацию о подключении SSH.
  5. После входа проверьте предоставленные версии Node.js и Playwright:
node --version
npx playwright --version
  1. Запустите пример, предоставленный с образом, прежде чем изменять зависимости. Пример должен запустить Chromium, открыть тестовую страницу, сделать утверждение и записать скриншот.
  2. Создайте или перенесите свой проект только после успешной проверки состояния.
  3. Начните с одного рабочего процесса Chromium, проверьте использование памяти и диска, и увеличивайте нагрузку только после измерения реального проекта.

Образ не требует URL-адреса доступа, специфичного для Playwright. SSH — это путь управления, и по умолчанию не включен постоянный порт удаленного управления.


Как создать проект Playwright на VPS?

Создайте обычный проект Node.js и зафиксируйте его зависимость Playwright на точной версии, показанной предоставленной средой выполнения. Пакеты Playwright и бинарные файлы браузера движутся вместе, поэтому установка не связанного последнего пакета может сломать в противном случае здоровый образ.

Начните в каталоге, принадлежащем вашему пользователю без прав root:

mkdir -p ~/playwright-project
cd ~/playwright-project
npm init -y

Проверьте предоставленную версию еще раз:

npx playwright --version

Установите ту же точную версию в проект. Замените <same-version> на номер, напечатанный предыдущей командой:

npm install --save-dev @playwright/test@<same-version>

Создайте homepage.spec.js:

const { test, expect } = require('@playwright/test');

test('example page is reachable', async ({ page }) => {
  await page.goto('https://example.com/', {
    waitUntil: 'domcontentloaded',
  });

  await expect(page).toHaveTitle(/Example Domain/);
  await page.screenshot({
    path: 'artifacts/example-homepage.png',
    fullPage: true,
  });
});

Создайте небольшую конфигурацию в playwright.config.js:

const { defineConfig, devices } = require('@playwright/test');

module.exports = defineConfig({
  testDir: '.',
  outputDir: 'test-results',
  workers: 1,
  reporter: [['list'], ['html', { open: 'never' }]],
  use: {
    trace: 'retain-on-failure',
    screenshot: 'only-on-failure',
    ...devices['Desktop Chrome'],
  },
  projects: [
    {
      name: 'chromium',
      use: { browserName: 'chromium' },
    },
  ],
});

Создайте директорию для скриншотов и запустите тест:

mkdir -p artifacts
npx playwright test homepage.spec.js --project=chromium --workers=1

Этот пример намеренно использует одного рабочего процесса Chromium и нейтральную публичную тестовую страницу. Замените URL только на веб-сайт, который вам принадлежит, который вы управляете или на который у вас есть разрешение на тестирование. Образ не предоставляет разрешение на автоматизацию сервиса третьих лиц.


Как работают отчеты и трассировки на безголовом VPS?

Отчеты и трассировки Playwright — это файлы, генерируемые вашим проектом, поэтому их можно сохранять на VPS и просматривать без открытия постоянного публичного сервиса. Они особенно полезны, когда тест терпит неудачу только в серверной среде.

Пример конфигурации записывает:

  • Результаты терминала от репортера list.
  • HTML-отчет в playwright-report/.
  • Вложения тестов и вывод ошибок в test-results/.
  • Трассировка для неудачных тестов, потому что trace установлено на retain-on-failure.
  • Скриншоты в соответствии с настроенными местоположениями артефактов.

Чтобы безопасно просмотреть HTML-отчет, запустите его временный сервер на интерфейсе обратной связи:

npx playwright show-report --host 127.0.0.1 --port 9323

На вашем собственном компьютере создайте SSH-туннель, используя значения подключения из деталей ресурса:

ssh -L 9323:127.0.0.1:9323 <ssh-user>@<server-ip>

Затем откройте http://127.0.0.1:9323 на вашем локальном компьютере. Остановите процесс отчета, когда закончите. Не связывайте просмотрщик отчетов с 0.0.0.0 или не выставляйте его напрямую в интернет; отчеты могут содержать текст страниц, URL-адреса, скриншоты, заголовки, сообщения об ошибках и другие конфиденциальные доказательства тестирования.

Для сохраненной трассировки используйте просмотрщик трассировок Playwright:

npx playwright show-trace test-results/<trace-file>.zip

Если просмотрщик запускает локальный HTTP-процесс, используйте ту же модель обратной связи и SSH-туннеля. Вы также можете передать трассировку на доверенную рабочую станцию и просмотреть ее с помощью официальных инструментов. Рассматривайте архивы трассировок как потенциально конфиденциальные, так как они могут содержать снимки DOM, сетевую информацию и скриншоты.


Почему версии Playwright и Chromium должны совпадать?

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

ИзменениеБезопасный подходРиск, которого следует избегать
Добавить Playwright в новый проектУстановить точную поставляемую версиюУстановка не связанной последней версии
Обновить пакет PlaywrightОбновить бинарные файлы браузера в одном и том же окне обслуживанияОбновление только зависимостей npm
Изменить Node.jsПодтвердить, что целевая версия Playwright поддерживает этоОбновление Node.js без тестирования
Добавить Firefox или WebKitУстановить и проверить соответствующий браузер и зависимостиПредположение, что каждый браузер предустановлен
Пересобрать файл блокировкиПросмотреть разрешенную версию PlaywrightПозволить широкому диапазону semver дрейфовать
ОткатВосстановить блокировку пакетов, бинарные файлы браузера и проект вместеОткат только одного слоя

Перед обновлением запишите рабочие версии:

node --version
npx playwright --version
npm ls @playwright/test

Затем создайте резервную копию вашего проекта и файла блокировки. Следуйте официальной процедуре обновления Playwright, которая обновляет как пакет, так и зависимости браузера. Запустите предоставленный шаблон проверки состояния и свои собственные дымовые тесты после изменения. VoyraCloud не обновляет автоматически существующие среды Playwright или не гарантирует совместимость для комбинаций, управляемых пользователем.


Как Playwright должен работать безопасно?

Playwright должен работать как выделенный пользователь без прав root с доступной песочницей Chromium, минимальными учетными данными и без ненужного публичного слушателя. Браузер обрабатывает сложный контент со страниц, которые он открывает, поэтому он не должен получать больше привилегий хоста, чем требует нагрузка.

Используйте эти операционные правила:

  1. Запускайте команды проекта из учетной записи без прав root. Не используйте sudo npx playwright test.
  2. Держите песочницу Chromium включенной, а не полагаясь на выполнение от имени root, которое отключает ее.
  3. Храните секреты в ограниченном файле окружения или менеджере секретов, а не в исходном тесте, скриншотах, отчетах или истории оболочки.
  4. Ограничьте целевые домены системами, которые вам принадлежат или на тестирование которых у вас есть разрешение.
  5. Останавливайтесь на CAPTCHA, вызовах контроля доступа, предупреждениях об учетной записи, платежных воротах или повторяющихся сбоях авторизации.
  6. Защитите доступ SSH с помощью надежной аутентификации и актуальных обновлений безопасности операционной системы.
  7. Не выставляйте HTML-отчет, просмотрщик трассировок, конечные точки отладки или пользовательский сервер браузера в публичный интернет.
  8. Просматривайте сгенерированные артефакты перед их распространением, так как содержимое страниц и тестовые данные могут появляться в скриншотах и трассировках.

Официальные рекомендации по Docker Playwright делают то же самое различие в привилегиях: root может быть приемлем для доверенного кода тестирования от конца до конца в изолированной среде, в то время как рекомендуются отдельные пользователи и контроль песочницы, когда содержимое браузера не полностью доверено. Образ VoyraCloud использует нативную среду выполнения с приоритетом SSH; если вы позже поместите свой проект в контейнер, вы должны самостоятельно настроить пользователя контейнера, песочницу, процесс и общую память.


Что означает требование к общей памяти в 2 ГБ?

Требование к общей памяти в 2 ГБ дает Chromium место для одной проверенной начальной нагрузки, но не гарантирует определенное количество параллельных страниц или браузеров. Chromium использует общую память для процессов рендеринга, и недостаток пространства может вызвать сбои, которые выглядят как случайные сбои теста.

Проверьте доступную файловую систему общей памяти:

df -h /dev/shm

Ворота приемки образа VoyraCloud проверяют одну безголовую сессию Chromium на начальной конфигурации с 2 ГБ общей памяти. Ваши реальные потребности зависят от сложности страниц, захвата видео и трассировок, контекстов браузера, расширений, загрузок, тестовых данных и количества одновременных рабочих процессов.

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


Сколько мощности VPS нужно Playwright?

Мощность Playwright зависит от количества браузеров, сложности страниц, артефактов и параллельности, поэтому минимум — это только проверенные ворота для узкой нагрузки. Начальные ворота покупки составляют 4 vCPU, 4 ГБ ОЗУ и 80 ГБ хранилища на Cloud VPS или 2 vCPU, 4 ГБ ОЗУ и 60 ГБ хранилища на Residential IP VPS, после того как соответствующий план пройдет региональные тесты приемки.

НагрузкаРекомендации по мощности
Один запланированный дымовой тест ChromiumПодходящий начальный случай для входных ворот
Небольшой последовательный набор от конца до концаНачните с одного рабочего процесса и измерьте
Тесты с большим количеством скриншотовСледите за ростом диска и использованием памяти
Сохранение видео и трассировокПланируйте дополнительное хранилище и очистку
Несколько параллельных рабочих процессовТребует тестирования, специфичного для нагрузки, и, вероятно, больше ресурсов
Несколько браузеров или большие страницыТребует тестирования, специфичного для нагрузки
Долговременная автоматизация сервисаДобавьте надзор, ведение журналов, мониторинг и измеренную мощность

Playwright Test может запускать файлы параллельно, но количество рабочих процессов по умолчанию не является обещанием мощности. Начните с --workers=1, наблюдайте за использованием ЦП, памяти, общей памяти, продолжительностью теста и использованием диска, затем увеличивайте постепенно. Более крупный план может потребоваться перед включением параллельных проектов, видео или длительного хранения трассировок.


Что сохраняется после перезагрузки?

Файлы, записанные в постоянное хранилище VPS, остаются после обычной перезагрузки, в то время как активное состояние браузера в памяти — нет. Сохраните каждый артефакт или файл состояния, который имеет значение, перед перезапуском сервера.

Постоянные файлы могут включать:

  • Ваш проект Node.js и файл блокировки.
  • Конфигурацию Playwright и исходный тест.
  • Скриншоты, видео, HTML-отчеты и архивы трассировок.
  • Преднамеренно сохраненные файлы состояния хранилища.
  • Ваши собственные журналы и конфигурацию процесса.

Не ожидайте, что перезагрузка сохранит:

  • Запущенный процесс Chromium.
  • Открытые страницы или контексты браузера в памяти.
  • Несохраненные куки, локальное хранилище или состояние JavaScript.
  • Временные файлы, которые ваш проект удаляет или записывает вне постоянных путей.
  • Задание, которое выполнялось без надзора процесса и обработки перезапуска.

Постоянство — это не резервное копирование. Если отчет, проект или файл состояния важен для бизнеса, скопируйте его в место вне сервера с соответствующим шифрованием и хранением. Избегайте резервного копирования состояния аутентификации, если это не требуется, защищено и подлежит четкой политике ротации.


Cloud VPS или Residential IP VPS для Playwright?

Cloud VPS является основным выбором для общего развития Playwright, QA и авторизованной автоматизации, в то время как Residential IP VPS актуален только тогда, когда стабильное происхождение жилой сети является частью законного требования тестирования.

Используйте Cloud VPS для:

  • Тестов от конца до конца против приложений, которые вам принадлежат.
  • Запланированных производственных дымовых проверок.
  • Внутренних рабочих процессов браузера.
  • Генерации скриншотов и регрессионного тестирования.
  • Автоматизации, где идентичность сети дата-центра приемлема.

Residential IP VPS может быть актуален для разрешенного регионального QA или мониторинга, где необходимо поддерживать одну и ту же стабильную идентичность жилой сети на протяжении запусков. Это не обещание обойти меры против автоматизации, решить CAPTCHA, защитить учетные записи или достичь каждой цели. Для более глубокого обсуждения сетевых сбоев читайте Почему Playwright блокируется на VPS.


Контрольный список перед производством

VPS Playwright готов к регулярному использованию только после того, как среда выполнения, безопасность, поведение ресурсов, артефакты и путь восстановления были протестированы с вашим собственным проектом.

  1. Подтвердите node --version и npx playwright --version.
  2. Запустите предоставленную проверку состояния Chromium без изменения окружения.
  3. Зафиксируйте ту же версию Playwright в вашем файле блокировки проекта.
  4. Запускайте от имени пользователя без прав root и подтвердите, что Chromium запускается с песочницей.
  5. Начните с одного рабочего процесса Chromium и проверьте среду общей памяти в 2 ГБ.
  6. Сохраните скриншот, HTML-отчет и трассировку неудачи.
  7. Просматривайте отчеты через слушатель обратной связи и SSH-туннель.
  8. Перезагрузите VPS и повторно запустите дымовой тест.
  9. Подтвердите, что необходимые файлы проекта и артефакты сохранились.
  10. Настройте резервное копирование вне сервера для критически важного кода и данных.
  11. Защитите учетные данные и удалите секреты из отчетов перед распространением.
  12. Документируйте разрешенные цели, ограничения по скорости и условия остановки.

Часто задаваемые вопросы

Включает ли образ Playwright веб-панель?

Нет, образ Playwright не включает веб-панель или публичную конечную точку управления браузером. Вы подключаетесь через SSH и запускаете свой собственный проект Node.js или Playwright Test. Временные просмотрщики отчетов должны связываться с 127.0.0.1 и быть доступны через SSH-туннель.

Какой браузер включен?

Образ включает Chromium, соответствующий поставляемой стабильной версии Playwright. Firefox и WebKit не являются частью заявленной стандартной поставки. Вы можете установить дополнительные соответствующие браузеры самостоятельно, но вы должны проверить их зависимости и использование ресурсов.

Могу ли я обновить Playwright с помощью npm?

Да, но обновите пакет Playwright и его бинарные файлы браузера вместе, затем протестируйте среду. Сначала сохраните рабочую версию и файл блокировки. Существующие ресурсы VoyraCloud не обновляются автоматически после создания.

Сколько рабочих процессов Playwright может запустить этот VPS?

Нет фиксированной гарантии рабочих процессов или параллельности. Начальные ворота проверяют одну сессию Chromium с 2 ГБ общей памяти на Cloud VPS с 4 vCPU, 4 ГБ ОЗУ и 80 ГБ хранилища или Residential IP VPS с 2 vCPU, 4 ГБ ОЗУ и 60 ГБ хранилища. Параллельная мощность зависит от ваших страниц, артефактов, кода и поведения среды выполнения.

Доступны ли отчеты и трассировки после перезагрузки?

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

Должен ли я запускать Playwright от имени root?

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

Включает ли образ прокси, куки или учетные записи веб-сайтов?

Нет, образ не включает прокси-сервис, куки, ключи API, учетные записи веб-сайтов или учетные данные третьих лиц. Вы несете ответственность за секреты, разрешения, политики целей и применимое законодательство.

Может ли Playwright обойти CAPTCHA или меры против ботов?

Такой возможности или результата не включено и не обещано. CAPTCHA, ограничения доступа или повторяющиеся сбои авторизации должны остановить рабочий процесс для проверки. Используйте официальные API или письменное разрешение, где это возможно.


Заключение

Чтобы надежно развернуть Playwright на VPS, начните с предустановленной среды выполнения, зафиксируйте свой проект на поставляемой версии Playwright, запустите одного рабочего процесса Chromium в песочнице и сохраняйте только те файлы, которые вы намеренно сохраняете. Образ VoyraCloud сокращает настройку окружения, сохраняя при этом доступ SSH, код проекта, учетные данные, обновления, планирование мощности и резервное копирование под вашим контролем.

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


Официальные источники

Поделиться:

Похожие статьи