您当前的位置: 首页 >  自动化

寒冰屋

暂无认证

  • 3浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

寒冰屋 发布时间:2021-12-22 21:39:57 ,浏览量:3

图片

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

跨浏览器

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

图片

跨平台

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

图片

跨语言

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

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

视频 -- 时长02:00

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

关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.0555s