• 微软开源的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,希望对您有用!

  • 相关阅读:
    map和cmath
    优先级队列queue
    algorithm头文件(sort 函数)
    12
    利用sqlmap简单注入dvwa
    集群高可用之lvs+keepalive
    集群高可用之lvs
    zabbix的配置之新版微信报警(二)
    Python升级版本2.6到2.7
    zabbix的安装(一)监控os资源:内存,cpu,io,负载,带宽
  • 原文地址:https://www.cnblogs.com/myshowtime/p/15681884.html
Copyright © 2020-2023  润新知