Краткое руководство. Выполнение комплексных тестов в масштабе с помощью предварительной версии Microsoft Playwright Testing
В этом кратком руководстве вы узнаете, как выполнять тесты Playwright с высокопараллеленными облачными браузерами и устранять неполадки с ошибками с помощью предварительной версии Microsoft Playwright Testing. Используйте облачную инфраструктуру для проверки приложения в нескольких браузерах, устройствах и операционных системах. Опубликуйте результаты и артефакты, созданные Playwright в службе, и просмотрите их на портале службы.
После выполнения этого краткого руководства у вас есть рабочая область Microsoft Playwright Testing для выполнения тестов Playwright в масштабе и просмотре результатов теста и артефактов на портале службы.
Внимание
Тестирование Microsoft Playwright в настоящее время находится в предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в бета-версии, предварительной версии или в противном случае еще не выпущены в общедоступную версию, см . в дополнительных условиях использования для предварительных версий Microsoft Azure.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
- Для учетной записи Azure требуется владелец, участник или одна из классических ролей администратора.
- Проект Playwright. Если у вас нет проекта, создайте его с помощью документации по началу работы с Playwright или используйте пример проекта Microsoft Playwright Testing.
- Azure CLI. Если у вас нет Azure CLI, см. статью "Установка Azure CLI".
Создание рабочей области
Чтобы приступить к выполнению тестов Playwright в большом масштабе в облачных браузерах, сначала создайте рабочую область Microsoft Playwright Testing на портале Playwright.
Войдите на портал Playwright с помощью учетной записи Azure.
Если у вас уже есть рабочая область, выберите существующую рабочую область и перейдите к следующему шагу.
Совет
Если у вас несколько рабочих областей, можно переключиться на другую рабочую область, выбрав имя рабочей области в верхней части страницы, а затем выберите " Управление всеми рабочими областями".
Если у вас еще нет рабочей области, нажмите кнопку +Создать рабочую область и укажите следующие сведения:
Поле Description Имя рабочей области Введите уникальное имя для идентификации рабочей области.
Имя может состоять только из буквенно-цифровых символов и иметь длину от 3 до 64 символов.Подписка Azure Выберите подписку Azure, которую вы хотите использовать для этой рабочей области Microsoft Playwright Testing. Регион Выберите географическое расположение для размещения рабочей области.
Это расположение, в котором данные тестового запуска хранятся для рабочей области.Выберите "Создать рабочую область", чтобы создать рабочую область в подписке.
Во время создания рабочей области в подписке Azure создается новая группа ресурсов и ресурс Microsoft Playwright Testing Azure.
После завершения создания рабочей области вы будете перенаправлены в руководство по настройке.
Установка пакета Microsoft Playwright Testing
Чтобы использовать службу, установите пакет Microsoft Playwright Testing.
npm init @azure/microsoft-playwright-testing@latest
Это создает playwright.service.config.ts
файл, который служит для:
- Прямая проверка подлинности Playwright в службе тестирования Microsoft Playwright.
- Добавляет репортера для публикации результатов теста и артефактов.
Если у вас уже есть этот файл, пакет просит переопределить его.
Чтобы использовать службу, установите пакет Microsoft Playwright Testing.
dotnet add package Azure.Developer.MicrosoftPlaywrightTesting.NUnit --prerelease
Настройка конечной точки региона службы
В настройке необходимо предоставить конечную точку службы для конкретного региона. Конечная точка зависит от региона Azure, выбранного при создании рабочей области.
Чтобы получить URL-адрес конечной точки службы, выполните следующие действия.
Чтобы добавить конечную точку региона в настройке, скопируйте конечную точку региона для рабочей области.
URL-адрес конечной точки соответствует региону Azure, выбранному при создании рабочей области. Убедитесь, что этот URL-адрес доступен в
PLAYWRIGHT_SERVICE_URL
переменной среды.
Настройка среды
Чтобы настроить среду, необходимо настроить PLAYWRIGHT_SERVICE_URL
переменную среды со значением, полученным на предыдущих шагах.
Мы рекомендуем использовать dotenv
модуль для управления средой. При этом dotenv
вы определяете .env
переменные среды в файле.
Добавьте модуль в
dotenv
проект:npm i --save-dev dotenv
Создайте файл вместе с файлом
.env
playwright.config.ts
в проекте Playwright:PLAYWRIGHT_SERVICE_URL={MY-REGION-ENDPOINT}
Обязательно замените
{MY-REGION-ENDPOINT}
заполнитель текста значением, скопированным ранее.
Настройка конфигурации службы
Создайте файл PlaywrightServiceSetup.cs
в проекте со следующим содержимым.
using Azure.Developer.MicrosoftPlaywrightTesting.NUnit;
namespace PlaywrightTests; // Remember to change this as per your project namespace
[SetUpFixture]
public class PlaywrightServiceSetup : PlaywrightServiceNUnit {};
Примечание.
Убедитесь, что проект использует Microsoft.Playwright.NUnit
версию 1.47 или более поздней.
Настройка проверки подлинности
Чтобы запустить тесты Playwright в рабочей области Microsoft Playwright Testing, необходимо выполнить проверку подлинности клиента 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 Testing и использовать его в настройке. Однако настоятельно рекомендуется использовать идентификатор Microsoft Entra для проверки подлинности из-за повышенной безопасности. Маркеры доступа, в то время как удобные, функции, такие как долгоживущие пароли и более подвержены скомпрометации.
Проверка подлинности с помощью маркеров доступа по умолчанию отключена. Чтобы использовать, включите проверку подлинности на основе маркера доступа
Внимание
Настоятельно рекомендуется использовать идентификатор Microsoft Entra для проверки подлинности в службе. Если вы используете маркеры доступа, см. инструкции по управлению маркерами доступа
Включение артефактов в настройке Playwright
playwright.config.ts
В файле проекта убедитесь, что вы собираете все необходимые артефакты.
use: {
trace: 'on-first-retry',
video:'retain-on-failure',
screenshot:'on'
}
Включите артефакты, такие как снимок экрана, видео и трассировки, которые будут записаны Playwright.
- Снимки экрана см. в разделе "Снимки экрана"
- Видео см . в записях для тестов
- Сведения о трассировках см. в записи трассировки
После сбора этих артефактов подключите их к TestContext
ним, чтобы убедиться, что они доступны в тестовых отчетах. Дополнительные сведения см. в нашем примере проекта для NUnit
Выполнение тестов в большом масштабе и устранении неполадок с помощью Microsoft Playwright Testing
Теперь вы подготовили конфигурацию для выполнения тестов Playwright в облаке с помощью Microsoft Playwright Testing. Вы можете использовать интерфейс командной строки Playwright для выполнения тестов или использовать расширение Playwright Test Visual Studio Code.
Запуск одного теста со службой
При тестировании Microsoft Playwright плата взимается на основе количества общих минут тестирования и количества опубликованных результатов теста. Если вы являетесь первым пользователем или приступить к работе с бесплатной пробной версией, вы можете начать с выполнения одного теста в масштабе вместо полного набора тестов, чтобы избежать исчерпания ограничений бесплатной пробной версии.
Примечание.
Функция создания отчетов включена по умолчанию для существующих рабочих областей. Это развертывается на этапах и займет несколько дней. Чтобы избежать сбоев, убедитесь, что Rich diagnostics using reporting
для рабочей области установлен параметр ON, прежде чем продолжить. См. инструкции по включению отчетов для рабочей области.
После успешного выполнения теста можно постепенно увеличить тестовую нагрузку, выполнив дополнительные тесты со службой.
Выполните следующие действия, чтобы запустить один тест Playwright с помощью Microsoft Playwright Testing:
Чтобы использовать интерфейс командной строки Playwright для выполнения тестов с помощью Microsoft Playwright Testing, передайте файл конфигурации службы в качестве параметра командной строки.
Откройте окно терминала.
Введите следующую команду, чтобы запустить тест 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
Теперь можно запустить несколько тестов со службой или запустить весь набор тестов в удаленных браузерах.
Внимание
В зависимости от размера набора тестов вы можете взимать дополнительные расходы за минуты теста и результаты теста, превышающие выделенные бесплатные минуты тестирования и бесплатные результаты теста.
Запуск полного набора тестов с помощью службы
Теперь, когда вы проверили, можно ли запустить один тест с помощью Microsoft Playwright Testing, вы можете запустить полный набор тестов Playwright в масштабе.
Выполните следующие действия, чтобы запустить полный набор тестов Playwright с помощью Microsoft Playwright Testing:
При выполнении нескольких тестов Playwright или полного набора тестов с помощью Microsoft Playwright Testing можно дополнительно указать количество параллельных рабочих ролей в качестве параметра командной строки.
Откройте окно терминала.
Введите следующую команду, чтобы запустить набор тестов Playwright в удаленных браузерах в рабочей области:
npx playwright test --config=playwright.service.config.ts --workers=20
В зависимости от размера набора тестов эта команда выполняет тесты до 20 параллельных рабочих ролей.
После завершения теста можно просмотреть состояние теста в терминале.
Running 6 tests using 6 workers 6 passed (18.2s) Test report: https://playwright.microsoft.com/workspaces/<workspace-id>/runs/<run-id>
Запустите тесты Playwright для браузеров, управляемых службой, и просмотрите результаты на унифицированном портале, используя созданную выше конфигурацию.
dotnet test --settings:.runsettings --logger "microsoft-playwright-testing" -- NUnit.NumberOfTestWorkers=20
Параметры тестового запуска определяются в .runsettings
файле. Узнайте , как использовать параметры пакета службы
После завершения тестового запуска можно просмотреть состояние теста в терминале.
Starting test execution, please wait...
Initializing reporting for this test run. You can view the results at: https://playwright.microsoft.com/workspaces/<workspace-id>/runs/<run-id>
A total of 100 test files matched the specified pattern.
Test Report: https://playwright.microsoft.com/workspaces/<workspace-id>/runs/<run-id>
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
Теперь на портале Playwright можно устранить неполадки неудачных тестовых случаев.
После завершения тестового запуска создается ссылка на портал Playwright. Откройте эту ссылку, чтобы просмотреть подробные результаты теста и связанные артефакты. На портале отображаются важные сведения, в том числе:
- Сведения о сборке CI
- Общее состояние выполнения теста
- ИД фиксации, связанный с тестовой запуском
Портал Playwright предоставляет все необходимые сведения для устранения неполадок. Вы можете:
- Переключение между повторными попытками.
- Просмотр подробных журналов ошибок, шагов тестирования и присоединенных артефактов, таких как снимки экрана или видео.
- Перейдите непосредственно к средству просмотра трассировки для более глубокого анализа.
Средство просмотра трассировки позволяет выполнять тест визуально. Вы можете:
- Используйте временную шкалу, чтобы навести указатель мыши на отдельные шаги, показыв состояние страницы до и после каждого действия.
- Проверьте подробные журналы, моментальные снимки DOM, сетевое действие, ошибки и выходные данные консоли для каждого шага.
После завершения тестового запуска вы получите ссылку на портал Playwright в терминале. Откройте эту ссылку, чтобы просмотреть подробные результаты теста и связанные артефакты. На портале отображаются важные сведения, в том числе:
- Сведения о сборке CI
- Общее состояние выполнения теста
- ИД фиксации, связанный с тестовой запуском
Портал Playwright предоставляет все необходимые сведения для устранения неполадок. Вы можете:
- Просмотр подробных журналов ошибок и присоединенных артефактов, таких как снимки экрана или видео.
- Перейдите непосредственно к средству просмотра трассировки для более глубокого анализа.
Примечание.
Некоторые метаданные, такие как владелец, описание и категория, в настоящее время не отображаются на панели мониторинга службы. Если вы хотите просмотреть дополнительные сведения, отправьте проблему GitHub в нашем репозитории.
Средство просмотра трассировки позволяет выполнять тест визуально. Вы можете:
- Используйте временную шкалу, чтобы навести указатель мыши на отдельные шаги, показыв состояние страницы до и после каждого действия.
- Проверьте подробные журналы, моментальные снимки DOM, сетевое действие, ошибки и выходные данные консоли для каждого шага.
Совет
Функции службы Microsoft Playwright Testing можно использовать независимо. Вы можете публиковать результаты теста на портале без использования функции размещенных в облаке браузеров, а также использовать только облачные браузеры для ускорения набора тестов без публикации результатов теста.
Примечание.
Результаты теста и артефакты, которые вы публикуете, хранятся в службе в течение 90 дней. После этого они автоматически удаляются.
Оптимизация конфигурации параллельной рабочей роли
После плавного выполнения тестов со службой поэкспериментируйте с различным количеством параллельных рабочих ролей, чтобы определить оптимальную конфигурацию, которая сводит к минимуму время завершения теста.
С помощью Microsoft Playwright Testing можно запускать до 50 параллельных рабочих ролей. Некоторые факторы влияют на лучшую конфигурацию проекта, такие как ЦП, память и сетевые ресурсы клиентского компьютера, емкость обработки нагрузки целевого приложения и тип действий, выполняемых в тестах.
Можно указать количество параллельных рабочих ролей в командной строке командной строки Playwright или настроить workers
свойство в файле конфигурации службы Playwright.
Можно указать количество параллельных рабочих ролей в командной строке интерфейса командной строки Playwright или настроить NumberOfTestWorkers
свойство в .runsettings
файле.
Узнайте больше о том, как определить оптимальную конфигурацию для оптимизации завершения набора тестов.
Следующий шаг
Вы успешно создали рабочую область Тестирования Microsoft Playwright на портале Playwright и выполните тесты Playwright в облачных браузерах.
Перейдите к следующему краткому руководству, чтобы настроить непрерывное комплексное тестирование, выполнив тесты Playwright в рабочем процессе CI/CD.