Настройка CI
Введение
Тесты Playwright могут выполняться на любом провайдере CI. Это руководство охватывает один из способов запуска тестов на GitHub с использованием GitHub Actions. Если вы хотите узнать больше или как настроить других провайдеров CI, ознакомьтесь с нашей подробной документацией по непрерывной интеграции.
Вы узнаете
- Как настроить GitHub Actions
- Как просматривать логи тестов
- Как просматривать HTML-отчет
- Как просматривать трассировку
- Как публиковать отчет в интернете
Настройка GitHub Actions
При установке Playwright с использованием расширения VS Code или с помощью npm init playwright@latest
вам предлагается добавить рабочий процесс GitHub Actions. Это создает файл playwright.yml
внутри папки .github/workflows
, содержащий все необходимое для запуска ваших тестов при каждом пуше и pull-запросе в основную/мастер-ветку. Вот как выглядит этот файл:
name: Playwright Tests
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright test
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
retention-days: 30
Рабочий процесс выполняет следующие шаги:
- Клонирование вашего репозитория 2. Установка Node.js 3. Установка зависимостей NPM 4. Установка браузеров Playwright 5. Запуск тестов Playwright 6. Загрузка HTML-отчета в интерфейс GitHub
Чтобы узнать больше об этом, см. "Понимание GitHub Actions".
Создание репозитория и пуш в GitHub
После того как вы настроили рабочий процесс GitHub Actions, все, что вам нужно сделать, это создать репозиторий на GitHub или запушить ваш код в существующий репозиторий. Следуйте инструкциям на GitHub и не забудьте инициализировать git-репозиторий с помощью команды git init
, чтобы вы могли добавлять, коммитить и пушить ваш код.

Открытие рабочих процессов
Нажмите на вкладку Actions, чтобы увидеть рабочие процессы. Здесь вы увидите, прошли ли ваши тесты или нет.
Просмотр логов тестов
Нажатие на выполнение рабочего процесса покажет вам все действия, которые GitHub выполнил, а нажатие на Run Playwright tests покажет сообщения об ошибках, что ожидалось и что было получено, а также журнал вызовов.
HTML-отчет
HTML-отчет показывает вам полный отчет о ваших тестах. Вы можете фильтровать отчет по браузерам, пройденным тестам, неудачным тестам, пропущенным тестам и нестабильным тестам.
Загрузка HTML-отчета
В разделе Артефакты нажмите на playwright-report, чтобы загрузить ваш отчет в формате zip-файла.

Просмотр HTML-отчета
Локальное открытие отчета не будет работать как ожидалось, так как вам нужен веб-сервер, чтобы все работало правильно. Сначала извлеките zip, желательно в папку, в которой уже установлен Playwright. Используя командную строку, перейдите в директорию, где находится отчет, и используйте npx playwright show-report
, за которым следует имя извлеченной папки. Это запустит отчет и позволит вам просмотреть его в вашем браузере.
npx playwright show-report name-of-my-extracted-playwright-report
Чтобы узнать больше об отчетах, ознакомьтесь с нашим подробным руководством по HTML Reporter
Просмотр трассировки
После того как вы запустили отчет с помощью npx playwright show-report
, нажмите на иконку трассировки рядом с именем файла теста, как показано на изображении выше. Вы сможете просмотреть трассировку ваших тестов и исследовать каждое действие, чтобы попытаться выяснить, почему тесты не проходят.
Публикация отчета в интернете
Загрузка HTML-отчета в виде zip-файла не очень удобна. Однако мы можем использовать возможности статического хостинга веб-сайтов Azure Storage, чтобы легко и эффективно публиковать HTML-отчеты в интернете, требуя минимальной настройки.
-
Создайте учетную запись Azure Storage.
-
Включите хостинг статических веб-сайтов для учетной записи хранения.
-
Создайте Сервисный Принципал в Azure и предоставьте ему доступ к Azure Blob Storage. После успешного выполнения команда отобразит учетные данные, которые будут использованы на следующем шаге.
az ad sp create-for-rbac --name "github-actions" --role "Storage Blob Data Contributor" --scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
-
Используйте учетные данные из предыдущего шага для настройки зашифрованных секретов в вашем репозитории GitHub. Перейдите в настройки вашего репозитория, в раздел секреты GitHub Actions, и добавьте следующие секреты:
AZCOPY_SPA_APPLICATION_ID
AZCOPY_SPA_CLIENT_SECRET
AZCOPY_TENANT_ID
Для подробного руководства о том, как авторизовать сервисный принципал с использованием клиентского секрета, обратитесь к этой документации Microsoft.
-
Добавьте шаг, который загружает HTML-отчет в Azure Storage.
.github/workflows/playwright.yml...
- name: Upload HTML report to Azure
shell: bash
run: |
REPORT_DIR='run-${{ github.run_id }}-${{ github.run_attempt }}'
azcopy cp --recursive "./playwright-report/*" "https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net/\$web/$REPORT_DIR"
echo "::notice title=HTML report url::https://<STORAGE_ACCOUNT_NAME>.z1.web.core.windows.net/$REPORT_DIR/index.html"
env:
AZCOPY_AUTO_LOGIN_TYPE: SPN
AZCOPY_SPA_APPLICATION_ID: '${{ secrets.AZCOPY_SPA_APPLICATION_ID }}'
AZCOPY_SPA_CLIENT_SECRET: '${{ secrets.AZCOPY_SPA_CLIENT_SECRET }}'
AZCOPY_TENANT_ID: '${{ secrets.AZCOPY_TENANT_ID }}'
Содержимое контейнера хранения $web
может быть доступно из браузера с использованием публичного URL веб-сайта.
Этот шаг не будет работать для pull-запросов, созданных из форкнутого репозитория, потому что такой рабочий процесс не имеет доступа к секретам.