微软开源的Web测试和自动化神器 Playwright

dotNET全栈开发

共 1471字,需浏览 3分钟

 ·

2022-01-10 20:20


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 PlaywrightDemocd PlaywrightDemodotnet 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,希望对您有用!



浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报