跳至主要内容

安装

简介

Playwright是专门为满足端到端测试需求而创建的。Playwright支持所有现代渲染引擎,包括Chromium、WebKit和Firefox。可以在Windows、Linux和macOS上进行测试,本地或CI环境,无头模式或有头模式,并支持原生移动设备模拟。

您可以选择使用Playwright提供的MSTest、NUnit或xUnit基类来编写端到端测试。这些类支持在多个浏览器引擎上运行测试、并行化测试、调整启动/上下文选项,并为每个测试开箱即用地获取Page/BrowserContext实例。或者,您也可以使用library手动编写测试基础设施。

  1. 首先使用dotnet new创建一个新项目。这将创建包含UnitTest1.cs文件的PlaywrightTests目录:
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");

// Expect a title "to contain" a substring.
await Expect(Page).ToHaveTitleAsync(new Regex("Playwright"));
}

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

// Click the get started link.
await Page.GetByRole(AriaRole.Link, new() { Name = "Get started" }).ClickAsync();

// Expects page to have a heading with the name of Installation.
await Expect(Page.GetByRole(AriaRole.Heading, new() { Name = "Installation" })).ToBeVisibleAsync();
}
}

运行示例测试

默认情况下,测试将在Chromium上运行。这可以通过BROWSER环境变量进行配置,或通过调整启动配置选项。测试以无头模式运行,意味着执行测试时不会打开浏览器窗口。测试结果和日志将在终端中显示。

dotnet test

请参阅我们的文档运行和调试测试,了解更多关于在headed模式下运行测试、运行多个测试、运行特定配置等内容。

系统要求

  • Playwright 以 .NET Standard 2.0 库的形式分发。我们推荐使用 .NET 8。
  • Windows 10及以上版本、Windows Server 2016及以上版本或适用于Linux的Windows子系统(WSL)。
  • macOS 13 Ventura 或更高版本。
  • Debian 12、Ubuntu 22.04、Ubuntu 24.04,支持x86-64和arm64架构。

下一步