Перейти к основному содержимому

Установка

Введение

Playwright был создан специально для удовлетворения потребностей в сквозном тестировании. Playwright поддерживает все современные движки рендеринга, включая Chromium, WebKit и Firefox. Тестируйте на Windows, Linux и macOS, локально или на CI, в безголовом или с графическим интерфейсом режиме с эмуляцией мобильных устройств.

Вы можете выбрать использование базовых классов MSTest, NUnit или xUnit base classes, которые предоставляет Playwright, для написания сквозных тестов. Эти классы поддерживают выполнение тестов на нескольких движках браузеров, параллелизацию тестов, настройку параметров запуска/контекста и получение экземпляра Page/BrowserContext для каждого теста из коробки. В качестве альтернативы вы можете использовать библиотеку для ручного написания инфраструктуры тестирования.

  1. Начните с создания нового проекта с помощью dotnet new. Это создаст директорию PlaywrightTests, которая включает файл UnitTest1.cs:
dotnet new mstest -n PlaywrightTests
cd PlaywrightTests
  1. Установите необходимые зависимости Playwright:
dotnet add package Microsoft.Playwright.MSTest
  1. Соберите проект, чтобы playwright.ps1 был доступен внутри директории bin:
dotnet build
  1. Установите необходимые браузеры. В этом примере используется net8.0, если вы используете другую версию .NET, вам нужно будет скорректировать команду и изменить net8.0 на вашу версию.
pwsh bin/Debug/net8.0/playwright.ps1 install

Если pwsh недоступен, вам придется установить PowerShell.

Добавление примерных тестов

Отредактируйте файл UnitTest1.cs с кодом ниже, чтобы создать пример сквозного теста:

UnitTest1.cs
using System.Text.RegularExpressions;
using Microsoft.Playwright;
using Microsoft.Playwright.MSTest;

namespace PlaywrightTests;

[TestClass]
public class ExampleTest : PageTest
{
[TestMethod]
public async Task HasTitle()
{
await Page.GotoAsync("https://playwright.dev");

// Ожидается, что заголовок "содержит" подстроку.
await Expect(Page).ToHaveTitleAsync(new Regex("Playwright"));
}

[TestMethod]
public async Task GetStartedLink()
{
await Page.GotoAsync("https://playwright.dev");

// Нажмите на ссылку "Get started".
await Page.GetByRole(AriaRole.Link, new() { Name = "Get started" }).ClickAsync();

// Ожидается, что на странице будет заголовок с именем Installation.
await Expect(Page.GetByRole(AriaRole.Heading, new() { Name = "Installation" })).ToBeVisibleAsync();
}
}

Запуск примерных тестов

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

dotnet test

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

Системные требования

  • Playwright распространяется как библиотека .NET Standard 2.0. Мы рекомендуем .NET 8.
  • Windows 10+, Windows Server 2016+ или Windows Subsystem for Linux (WSL).
  • macOS 13 Ventura или более поздняя версия.
  • Debian 12, Ubuntu 22.04, Ubuntu 24.04 на архитектурах x86-64 и arm64.

Что дальше