Поделиться через


Лазурный драматург

Azure Playwright — это полностью управляемая служба Azure, которая использует облако для одновременного выполнения тестов Playwright с гораздо более высокой степенью распараллеливания в различных комбинациях операционной системы и браузера. Это означает более быстрые тестовые запуски с более широким охватом сценариев, что помогает ускорить доставку функций без ущерба для качества. Сервис также включает интегрированные возможности отчётности, которые автоматически загружают результаты тестов и связанные с ними артефакты в хранилище Azure и просматривают их в сервисном портале, что позволяет быстрее и упростить устранение неполадок. С Playwright Workspaces вы можете выпускать функции быстрее и увереннее.

Готовы приступить к работе? Ознакомьтесь с нашим кратким руководством!

Get Started

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

Предпосылки

Создание рабочего пространства

  1. Войдите на портал Azure с помощью своей учетной записи Azure.

  2. Создайте рабочую область.

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

      Создание ресурса на портале Azure

    • Введите Playwright Workspaces в поле поиска.

    • Выберите карточку «Рабочие пространства драматурга », а затем нажмите кнопку «Создать».

      Поиск рабочих областей Playwright в Azure Marketplace

    • Предоставьте следующие сведения для настройки нового рабочего пространства Playwright:

      Поле Description
      Subscription Выберите подписку Azure, которую вы хотите использовать для этой рабочей области Playwright.
      Группа ресурсов Выберите существующую группу ресурсов. Или выберите Create new и введите уникальное имя для новой группы ресурсов.
      Имя Введите уникальное имя для идентификации рабочей области.
      Имя может состоять только из буквенно-цифровых символов и иметь длину от 3 до 64 символов.
      Местоположение Выберите географическое расположение для размещения рабочей области.
      Это расположение также определяет, где хранятся результаты выполнения теста.
      Отчеты Переключатель по умолчанию установлен на «Включено», чтобы пользователи могли сохранять и просматривать свои отчёты по тестовым запускам из Playwright Workspace. Если хотите отключить отчёты, переключите настройку на «Отключено».
      Учетная запись хранения Создаётся и по умолчанию выбирается новая запись хранения для хранения артефактов отчётов Playwright Workspaces. Чтобы выбрать существующую запись хранения, выберите в выпадающем меню или нажмите «Создать новое», чтобы создать новый аккаунт хранения по своему выбору.

      Замечание

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

    • После того как вы закончите настройку ресурса, выберите Проверить + Создать.

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

    • По завершении процесса появится сообщение об успешном развертывании.

    • Чтобы просмотреть новую рабочую область, выберите Перейти к ресурсу.

      Развертывание завершено - Перейти к ресурсу

Установка пакета Azure Playwright

  1. Выполните эту команду для установки пакета услуг

    npm init @azure/playwright@latest
    

При установке пакета услуг будет создан файл конфигурации службы с именем playwright.service.config.ts

Конфигурация сервиса предназначена для:

  • Направляйте и аутентифицируйте Playwright в рабочих пространствах Playwright.
  • Добавьте отчётность Playwright Workspaces в свою конфигурацию.
  • При необходимости переопределите тайм-ауты для операций службы.

Убедитесь, что в вашем проекте используется @playwright/test версия 1.47 или выше.

Получение конечной точки региона

  1. На портале Azure скопируйте команду в разделе Добавить конечную точку региона в настройках.

    Настройка конечной точки рабочей области

    URL-адрес конечной точки соответствует области рабочей области. Вы можете увидеть другой URL-адрес конечной точки на портале Azure в зависимости от региона, выбранного при создании рабочей области.

Настройка среды

Убедитесь, что информация PLAYWRIGHT_SERVICE_URL , полученная на предыдущем шаге, доступна в вашей среде.

Мы рекомендуем использовать dotenv модуль для управления вашей средой. С dotenv помощью вы будете использовать .env файл для определения переменных среды.

Не забудьте добавить .env файл в свой .gitignore файл, чтобы не допустить утечки ваших секретов.

npm i --save-dev dotenv

Файл .env

PLAYWRIGHT_SERVICE_URL=wss://eastus.api.playwright.microsoft.com/playwrightworkspaces/workspace-id/browsers

Настройка проверки подлинности

Чтобы выполнить тесты Playwright в рабочей области Azure Playwright, необходимо пройти проверку подлинности клиента Playwright, в котором вы проводите тесты, с помощью службы. Это может быть локальный компьютер разработки или компьютер CI.

Служба предлагает два метода проверки подлинности: идентификатор Microsoft Entra и маркеры доступа.

Идентификатор Microsoft Entra использует учетные данные Azure, требуя входа в учетную запись Azure для безопасного доступа. Кроме того, вы можете создать маркер доступа из рабочей области Playwright и использовать его в настройке.

Настройка авторизации с помощью Microsoft Entra ID

Идентификатор Microsoft Entra — это идентификатор по умолчанию и рекомендуемая проверка подлинности для службы. На локальном компьютере разработки можно использовать Azure CLI для входа.

az login

ПРИМЕЧАНИЕ: Если вы являетесь участником нескольких клиентов Microsoft Entra, убедитесь, что вы вошли в клиент, к которому принадлежит ваша рабочая область. Идентификатор клиента можно получить на портале Azure, см. статью Поиск клиента Microsoft Entra. После получения идентификатора выполните вход с помощью команды az login --tenant <TenantID>

Настройка проверки подлинности с помощью токенов доступа

Вы можете создать маркер доступа из рабочей области Azure Playwright и использовать его в настройке. Однако настоятельно рекомендуется использовать идентификатор Microsoft Entra для проверки подлинности из-за повышенной безопасности. Маркеры доступа, хотя и удобны, действуют как долговременные пароли и более подвержены компрометации.

  1. Чтобы использовать проверку подлинности на основе маркера доступа, включите проверку подлинности на основе маркера доступа

  2. Настройка аутентификации с помощью токенов доступа

Настоятельно рекомендуется использовать идентификатор Microsoft Entra для проверки подлинности в службе. Если вы используете маркеры доступа, см. раздел Управление маркерами доступа

ЗАМЕТКА: Чтобы использовать Azure Playwright в конвейерах CI, необходимо настроить проверку подлинности с помощью службы из конвейера, см. раздел Настройка непрерывного сквозного тестирования в разных браузерах и операционных системах

Запуск тестов

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

npx playwright test --config=playwright.service.config.ts --workers=20

Azure Playwright Reporter

Azure Playwright включает пользовательский репортер, который автоматически загружает ваши отчёты по HTML-тестам Playwright в Azure Storage, делая их доступными напрямую через портал Azure для удобства отладки и обмена результатами.

Функции

  • Автоматическая загрузка отчёта: Бесшовно загружает HTML-отчёты Playwright на ваш аккаунт Azure Storage
  • Интеграция с порталом: просмотр результатов тестов напрямую в портале Azure Playwright
  • Улучшенная отладка: доступ к подробным тестовым артефактам, трассам и скриншотам

Настройка и настройка

Репортер Azure Playwright входит в @azure/playwright пакет и работает вместе с встроенным HTML-репортером Playwright.

1. Настройте репортёров в конфигурации Playwright

Добавьте как HTML-репортёра, так и Azure Playwright Reporter в ваши playwright.service.config.ts:

import { getServiceConfig, PlaywrightReporter } from "@azure/playwright";
import { defineConfig } from "@playwright/test";
import { DefaultAzureCredential } from "@azure/identity";

// <snippet_configure_reporters>
import { getServiceConfig, PlaywrightReporter } from "@azure/playwright";
import { defineConfig } from "@playwright/test";
import { DefaultAzureCredential } from "@azure/identity";
export default defineConfig(
  getServiceConfig({
    // Your existing configuration
    credential: new DefaultAzureCredential(),
  }),
  {
    reporter: [
      ["html", { open: "never" }], // HTML reporter must come first
      ["@azure/playwright/reporter"], // Azure reporter uploads HTML report
    ],
  },
);

2. Требования для подачи отчетности

Перед использованием Azure Playwright Reporter убедитесь, что ваше рабочее пространство правильно настроено:

Конфигурация рабочей области

Включите отчётность и настройте хранение:

  1. Перейдите в своё рабочее пространство Playwright в портале Azure
  2. Перейти на вкладку конфигурации хранилища
  3. Переключите отчётность в режим «Включено»
  4. Создайте новый или выберите существующую запись хранения
  5. Нажмите кнопку "Сохранить"

Настройте RBAC для доступа к хранилищу:

  1. Откройте связанный аккаунт хранения
  2. Перейти на вкладку «Контроль доступа» (IAM )
  3. Нажмите «Добавить назначение роли»
  4. Найдите и выберите роль вкладчика данных Storage Blob Data Contributor, затем нажмите «Далее»
  5. Выберите и добавьте всех участников, которые будут проводить тесты
  6. Нажмите Review + assign

Настройте CORS для просмотра следов:

  1. Откройте связанный аккаунт хранения
  2. Перейти в раздел НастройкиСовместное использование ресурсов (CORS)
  3. В сервисе Blob добавьте новый рекорд:
    • Допустимые источники: https://trace.playwright.dev
    • Разрешённые методы: GET, OPTIONS
    • Максимальный возраст: введите значение от 0 до 2147483647
  4. Нажмите кнопку "Сохранить"
Требования к клиенту
  • Аутентификация: требуется аутентификация Microsoft Entra ID (доступные токены не поддерживаются для отчётов)
  • Playwright версия: требуется версия Playwright 1.57 или выше
  • Конфигурация сервиса: необходимо использовать конфигурацию сервиса (playwright.service.config.ts)
  • Настройки рабочего пространства: Отчётность должна быть включена на вашем Azure Playwright Workspace

Принцип работы

  1. Тестирование: тесты выполняются нормально с использованием браузеров Azure Playwright
  2. Генерация HTML-отчетов: HTML-репортер Playwright генерирует стандартный тестовый отчёт
  3. Автоматическая загрузка: Azure Reporter загружает папку HTML-отчетов в Azure Storage вашего рабочего пространства
  4. Portal Access: Просмотр результатов в Azure портале по предоставленному URL

Дальнейшие шаги

Contributing

Этот проект приветствует вклады и предложения. Для большинства вкладов требуется согласие с Лицензионным соглашением для авторов (CLA), в котором говорится, что вы имеете право предоставлять нам права на использование вашего вклада и фактически предоставляете их. Для получения подробных сведений посетите веб-страницу https://cla.opensource.microsoft.com.

Когда вы отправляете запрос на вытягивание, бот CLA автоматически определяет, нужно ли вам предоставлять CLA и соответствующим образом оформлять PR (например, проверять статус, комментировать). Просто следуйте инструкциям, предоставленным ботом. Вам нужно будет сделать это только один раз во всех репозиториях с помощью нашего CLA.

В рамках этого проекта был принят Кодекс поведения Microsoft с открытым исходным кодом. Для получения дополнительной информации ознакомьтесь с часто задаваемыми вопросами о Кодексе поведения или свяжитесь с opencode@microsoft.com любыми дополнительными вопросами или комментариями.

Товарные знаки

Этот проект может содержать товарные знаки или логотипы для проектов, продуктов или услуг. Разрешенное использование товарных знаков или логотипов Microsoft регулируется Рекомендациями по товарным знакам и фирменной символике Microsoft и должно соответствовать им. Использование товарных знаков или логотипов Microsoft в модифицированных версиях этого проекта не должно вызывать путаницу или подразумевать спонсорство Microsoft. Любое использование товарных знаков или логотипов третьих лиц регулируется политикой этих третьих сторон.