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

cc95c03ae94eab45934e8858a14e2286.png

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

跨浏览器

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

6acf60b20bc199eb3dedde483146b47f.png

跨平台

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

053e2777595ff1b91798bf4e7f08b055.png

跨语言

多语言支持, 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,希望对您有用!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

史上最厉害的“1+2”!这个270年前出现的大难题,已经60多年没有出现好消息了..........

全世界只有3.14 % 的人关注了爆炸吧知识费马费马欧拉欧拉数学是科学的皇后数论是数学中的皇冠这顶皇冠每一次被举起它的光芒都在照亮数学的前方从112到“12”人类一次次逼近“哥德巴赫猜想”的真相从一张白纸到上面写满n>2的证明“费马大定理”凝聚成了一部数学史从2、3、5、…

放寒假的硕博研究生将经历什么?

全世界只有3.14 % 的人关注了爆炸吧知识1月中下旬基本全国的高校都放假了,除了部分因为疫情滞留在学校和外地的学生,绝大多数的学生都会回家过年。平时自带学霸光环,可以借口工作学业繁忙,不回家,不用应酬,…

自动化测试有感

1、 研究自动化测试也有一段时间了,从不熟悉到慢慢的了解,从不会到会,从迷茫到清晰...... 前段时间一直都很疑惑,为什么要自动化,自动化能给我们带来哪些好处?它存在的价值在哪里?运行一个脚本…

iOS 集合的深复制与浅复制

2019独角兽企业重金招聘Python工程师标准>>> 概念 对象拷贝有两种方式:浅复制和深复制。顾名思义,浅复制,并不拷贝对象本身,仅仅是拷贝指向对象的指针;深复制是直接拷贝整个对象内存到另一块内存中。 一图以…

Adb安装程序出现TimeOut错误

为什么80%的码农都做不了架构师?>>> 安装Apk过程中,出现如下错误: Failed to install on device ‘XXX′: timeout 原因时设备速度太卡,导致启动超时,解决办法:延长超时时间。 方法&#xff…

2021.NET大会日程首发!行程亮点全曝光!

{倒计时4天文末有福利→.NET机器人定制抱枕}2021年12月18日由中国各地技术社区共同发起举办、知名企业和开源组织联合协办的2021年中国.NET开发者大会即将盛大开幕▽2020/12/18-12/19主题:开源共建|开放创新|开发赋能形式:线上直播- 长按二维码免费领票 …

继Science发文后,Nature也发文评论曹雪涛“误用图片”调查结果

全世界只有3.14 % 的人关注了爆炸吧知识本文转自:募格学术2021年1月26日傍晚 Nature 网站以头条新闻的方式刊出了题为“著名中国免疫学家没有剽窃和学术造假”的新闻并配以曹雪涛的照片,该新闻大篇幅报道了科技部等多部门对于中国工程院院士曹雪涛的联合…

linux运行.pak文件,使用game-to-flatpak脚本将商业Linux游戏安装程序转换为Flatpak应用程序...

现在有一个新的脚本,它允许你将各种商业Linux游戏的安装程序转换成可以在各种GNU/Linux发行版上运行的Flatpak软件包。这是一个开源的shell脚本,由GNOME开发人员Bastien Nocera开发,它做了一件事,即自动将各种格式的商业Linux游戏…

Log4j 2漏洞(CVE-2021-44228)的快速响应

简介2021 年 12 月 9 日,在Log4j的 GitHub 上公开披露了一个影响多个版本的 Apache Log4j 2 实用程序的高严重性漏洞 CVE-2021-44228、CVSSv3 10.0 (https://logging.apache.org/log4j/2.x) 。该漏洞由阿里云安全团队的陈兆军(可能为音译)发现…

Xcode4.5编译ffmpeg成功,过程说明

最近项目要用音视频的通话,需要用ffmpeg来实现,但是ffmpeg在iOS平台上的编译有些问题。 1 下载代码 1.下载ffmpeg源代码 git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg 参考:http://ffmpeg.org/download.html 2.下载ffmpeg-iphone…

box2d 绘制圆

在让刚体听我的——ApplyForce、ApplyImpulse、SetLinearVelocity一节中,来自天地会的sxl001问道如何创建圆形的边界(Round Boundary),好吧,我用这个教程来回答他。 实际上Box2D中没有专门创建圆弧的API (b2CircleDef创建的是实体圆形不是圆弧…

深入剖析Android系统

深入剖析Android系统(基于Google发布的Jelly Bean原始代码,讲述Android系统的内部静态结构关系和内部运行机制,为你呈现原汁原味的Android代码分析大餐!) 杨长刚著 ISBN 978-7-121-19374-3 2013年1月出版 定价&#xf…

微博上的网红,为什么更能红得发紫?

“网红”是最近非常热潮的互联网现象。在微博上,各种各样的网红不仅活跃了粉丝群体(微博月活跃用户增至2.61亿),也为微博增添了互动热度(微博一季度微博日均视频播放量达4.7亿次,同比增长489%,比…

TotoiseSVN-小乌龟的使用方法总结

原文转自 http://www.cnblogs.com/xilentz/archive/2010/05/06/1728945.html 收藏起来用的时候比较方便 TotoiseSVN的基本使用方法在 项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】中,我已经讲解了怎样安装TortoiseSVN。在上面的讲解中已经…

WPF DataGrid 如何将被选中行带到视野中

WPF DataGrid 如何将被选中行带到视野中目录前言准备工作方法一方法二总结独立观察员 2021 年 12 月 11 日前言在 WPF 开发中,显示表格一般使用 DataGrid 控件,而且我们一般会依据用户的选中行的操作来执行一些逻辑,这种情况,选中…

一对经典的时间获取客户/服务器程序

前言 本文通过一对经典的时间获取客户/服务器程序&#xff0c;展现了Linux网络编程的大体框架&#xff0c;为以后更深入的学习打下基础。 客户服务器模式网络编程的大体框架 客户端代码 1 #include <stdio.h>2 // 下头文件包含socket(), bind()等套接字通信必须的函数。3…

博古通今的孩子是怎么养成的?答案就在这本影响了无数中国人思想的奇书里……

▲ 点击查看“三十六计走为上计”这句话&#xff0c;相信是大家从小听到大的俗语了。除此之外&#xff0c;还有“抛砖引玉”、“顺手牵羊”、“借刀杀人”、“擒贼先擒王”等都出自经典兵书《三十六计》。《三十六计》是中国古代最伟大的兵法谋略书之一&#xff0c;集智慧韬略、…