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


Краткое руководство. Выполнение комплексных тестов в масштабе с помощью рабочих областей Playwright

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

После выполнения этого краткого руководства у вас есть рабочая область Playwright для выполнения тестов Playwright в большом масштабе.

Это важно

Рабочие области playwright в настоящее время находятся в предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в бета-версии, предварительной версии или в противном случае еще не выпущены в общедоступную версию, см . в дополнительных условиях использования для предварительных версий Microsoft Azure.

Предпосылки

Создание рабочей области

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

  1. Войдите на портал Azure.

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

    Снимок экрана: меню портал Azure для создания нового ресурса.

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

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

    Снимок экрана: страница поиска Azure Marketplace с результатом поиска в рабочих областях Playwright.

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

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

    Замечание

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

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

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

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

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

    Снимок экрана: сведения о завершении развертывания в портал Azure.

Установка пакета рабочих областей Playwright

Чтобы использовать службу, установите пакет playwright Workspaces.

npm init @azure/playwright@beta

Это создает playwright.service.config.ts файл, который служит для направления и проверки подлинности Playwright в рабочих областях Playwright.

Если у вас уже есть этот файл, пакет просит перезаписать его.

Чтобы использовать службу, установите пакет playwright Workspaces.

dotnet add package Azure.Developer.Playwright.NUnit --prerelease

Настройка конечной точки региона службы

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

Чтобы получить URL-адрес конечной точки службы, выполните следующие действия.

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

  2. Выберите страницу "Начало работы ".

    Снимок экрана: переход на страницу

  3. Чтобы добавить конечную точку региона в настройке, скопируйте URL-адрес конечной точки службы.

    Убедитесь, что этот URL-адрес доступен в PLAYWRIGHT_SERVICE_URL переменной среды.

    Снимок экрана: копирование URL-адреса конечной точки службы.

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

Чтобы настроить среду, необходимо настроить PLAYWRIGHT_SERVICE_URL переменную среды со значением, полученным на предыдущих шагах.

Мы рекомендуем использовать dotenv модуль для управления средой. При этом dotenvвы определяете .env переменные среды в файле.

  1. Добавьте модуль в dotenv проект:

    npm i --save-dev dotenv
    
  2. Добавьте следующий фрагмент кода в playwright.service.config.ts:

    require('dotenv').config();
    
  3. Создайте файл вместе с файлом .envplaywright.config.ts в проекте Playwright:

    PLAYWRIGHT_SERVICE_URL={MY-REGION-ENDPOINT}
    

    Обязательно замените {MY-REGION-ENDPOINT} заполнитель текста значением, скопированным ранее.

Настройка конфигурации службы

Создайте файл PlaywrightServiceSetup.cs в проекте со следующим содержимым.

using Azure.Developer.Playwright.NUnit;
using Azure.Identity;

namespace PlaywrightTests; // Remember to change this as per your project namespace

[SetUpFixture]
public class PlaywrightServiceNUnitSetup  : PlaywrightServiceBrowserNUnit
{
    public PlaywrightServiceNUnitSetup() : base(
        credential: new DefaultAzureCredential()
    ) 
    {}
}

Замечание

Убедитесь, что проект использует Microsoft.Playwright.NUnit версию 1.50 или более поздней.

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

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

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

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

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

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

az login

Замечание

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

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

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

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

  2. Настройте проверку подлинности, используя токены доступа.

Осторожность

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

Выполнение тестов в масштабе с помощью рабочих областей Playwright

Теперь вы подготовили конфигурацию для выполнения тестов Playwright в облаке с помощью рабочих областей Playwright. Вы можете использовать интерфейс командной строки Playwright для выполнения тестов или использовать расширение Playwright Test Visual Studio Code.

Запуск одного теста со службой

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

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

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

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

  1. Откройте окно терминала.

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

    Замените {name-of-file.spec.ts} заполнитель текста именем файла спецификации теста.

    npx playwright test {name-of-file.spec.ts} --config=playwright.service.config.ts
    

    После завершения теста можно просмотреть состояние теста в терминале.

    Running 1 test using 1 worker
        1 passed (2.2s)
    
    To open last HTML report run:
    
    npx playwright show-report
    

Теперь можно запустить несколько тестов со службой или запустить весь набор тестов в удаленных браузерах.

Осторожность

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

Запуск полного набора тестов с помощью службы

Теперь, когда вы проверили, можно ли запустить один тест с помощью playwright Workspaces, вы можете запустить полный набор тестов Playwright в масштабе.

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

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

  1. Откройте окно терминала.

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

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

    В зависимости от размера набора тестов эта команда выполняет тесты до 20 параллельных рабочих ролей.

    После завершения теста можно просмотреть состояние теста в терминале.

    Running 6 tests using 6 workers
        6 passed (18.2s)
    

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

dotnet test -- NUnit.NumberOfTestWorkers=20

После завершения тестового запуска можно просмотреть состояние теста в терминале.

Starting test execution, please wait...

A total of 100 test files matched the specified pattern.

Passed!  - Failed:     0, Passed:     100, Skipped:     0, Total:     100, Duration: 59 s - PlaywrightTestsNUnit.dll (net7.0)

Workload updates are available. Run `dotnet workload list` for more information.

Оптимизация конфигурации параллельной рабочей роли

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

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

Можно указать количество параллельных рабочих ролей в командной строке командной строки Playwright или настроить workers свойство в файле конфигурации службы Playwright.

Можно указать количество параллельных рабочих ролей в командной строке интерфейса командной строки Playwright или настроить NumberOfTestWorkers свойство в .runsettings файле.

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

Следующий шаг

Вы успешно создали рабочую область Playwright на портале Azure и выполните тесты Playwright в облачных браузерах.

Перейдите к следующему краткому руководству, чтобы настроить непрерывное комплексное тестирование, выполнив тесты Playwright в рабочем процессе CI/CD.