微软开源的Web测试和自动化神器 Playwright
Playwright 是微软开源的一个用于 Web 测试和自动化的框架, 提供了可靠的端到端测试, 功能非常强大, 可以在测试, 爬虫,自动化场景中使用。
跨浏览器
Playwright 支持所有现代的渲染引擎,包括 Chromium、WebKit 和 Firefox。
跨平台
在 Windows, Linux 和 macOS 提供相同的使用体验。
跨语言
多语言支持, TypeScript, JavaScript, Python, .NET, Java.
录制、自动代码生成 、重放
Playwright for .NET
https://playwright.dev/dotnet/
创建一个控制台项目并添加 Playwright 依赖项
dotnet new console -n PlaywrightDemo
cd PlaywrightDemo
dotnet add package Microsoft.Playwright
dotnet build
修改 Program.cs
using Microsoft.Playwright;
using System.Threading.Tasks;
class Program
{
public static async Task Main()
{
using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Chromium.LaunchAsync();
var page = await browser.NewPageAsync();
await page.GotoAsync("https://github.com");
await page.ScreenshotAsync(new PageScreenshotOptions { Path = "screenshot.png" });
}
}
然后直接运行, 程序会后台打开 Chrome 浏览器, 访问 github 并截图保存
dotnet run
默认情况下,Playwright 以无头模式运行浏览器, 要查看浏览器界面, 设置 Headless = false, 另外还可以设置
slowMo来减慢执行速度。
await playwright.Firefox.LaunchAsync(new BrowserTypeLaunchOptions
{
Headless = false,
SlowMo = 50,
});
支持运行过程中进行截图
var bytes = await page.ScreenshotAsync();
录制视频
var context = await browser.NewContextAsync(new BrowserNewContextOptions
{
RecordVideoDir = "videos/"
});
await context.CloseAsync();
官网的文档也很齐全,感兴趣的可以关注 playwright.dev,希望对您有用!
评论