前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微软开源的Web测试和自动化神器 Playwright

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

作者头像
全球技术精选
发布2021-12-20 15:41:00
8550
发布2021-12-20 15:41:00
举报
文章被收录于专栏:全球技术精选全球技术精选

Playwright 是微软开源的一个用于 Web 测试和自动化的框架, 提供了可靠的端到端测试, 功能非常强大, 可以在测试, 爬虫,自动化场景中使用。

跨浏览器

Playwright 支持所有现代的渲染引擎,包括 Chromium、WebKit 和 Firefox。

跨平台

在 Windows, Linux 和 macOS 提供相同的使用体验。

跨语言

多语言支持, TypeScript, JavaScript, Python, .NET, Java.

录制、自动代码生成 、重放

http://mpvideo.qpic.cn/0bc3qyacoaaa7qajhrfvlzqvbbwde6daajya.f10002.mp4?dis_k=6af1141cad70160931916f83fc2c2d70&dis_t=1639985899&vid=wxv_2176103898980073481&format_id=10002&support_redirect=0&mmversion=false

Playwright for .NET

https://playwright.dev/dotnet/

创建一个控制台项目并添加 Playwright 依赖项

代码语言:javascript
复制
dotnet new console -n PlaywrightDemo
cd PlaywrightDemo
dotnet add package Microsoft.Playwright 
dotnet build

修改 Program.cs

代码语言:javascript
复制
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 并截图保存

代码语言:javascript
复制
dotnet run

默认情况下,Playwright 以无头模式运行浏览器, 要查看浏览器界面, 设置 Headless = false, 另外还可以设置slowMo来减慢执行速度。

代码语言:javascript
复制
await playwright.Firefox.LaunchAsync(new BrowserTypeLaunchOptions 
{ 
    Headless = false, 
    SlowMo = 50, 
});

支持运行过程中进行截图

代码语言:javascript
复制
var bytes = await page.ScreenshotAsync();

录制视频

代码语言:javascript
复制
var context = await browser.NewContextAsync(new BrowserNewContextOptions
{
    RecordVideoDir = "videos/"
}); 
await context.CloseAsync();

官网的文档也很齐全,感兴趣的可以关注 playwright.dev,希望对您有用!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 半栈程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 跨浏览器
  • 跨平台
  • 跨语言
    • 录制、自动代码生成 、重放
    • Playwright for .NET
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档