一、Playwright 是什么:
微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium、Pyppeteer 等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API 功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。
Playwright 支持大部分的语言,Node.js,Python,Java,.net,并且支持谷歌,火狐浏览器,WebKit,对于移动端也支持,可以在 Windows、Linux、MacOs 等机器上运行。脚本执行支持同步或者异步的方式。
入库:https://playwright.dev/docs/intro
源码:https://github.com/microsoft/playwright-python
二、Playwright 的优势:
文章源自玩技e族-https://www.playezu.com/279570.html
文章源自玩技e族-https://www.playezu.com/279570.html
三、Playwright 基本操作:
1、安装:
由于 Playwright 原生是通过 Nodejs 开发,如果有一定的代码经验且熟悉 nodejs 建议使用 npm、yarn 的方式安装文章源自玩技e族-https://www.playezu.com/279570.html
npm 方式:
npm init playwright@latest文章源自玩技e族-https://www.playezu.com/279570.html
yarn 方式:
yarn create playwright文章源自玩技e族-https://www.playezu.com/279570.html
python 方式:
安装 python3.0 以上的版本,否则有可能出现版本不兼容的问题。
pip install playwright
playwright install文章源自玩技e族-https://www.playezu.com/279570.html
安装之后的目录结构:
文章源自玩技e族-https://www.playezu.com/279570.html
文章源自玩技e族-https://www.playezu.com/279570.html
2、开启录制:
执行命令,吊起录制窗口
npx playwright codegen --viewport-size=800,600 jd.com
--viewport-size 指定窗口大小,非必填
jd.com:指定打开的链接,非必填文章源自玩技e族-https://www.playezu.com/279570.html
执行操作,生成脚本
停止录制,拷贝至待保存位置,文件名称后缀需要是 “.spec.js"【注意,此步骤不要关闭弹出的浏览器】
3、脚本运行及调试:
npx playwright test 脚本名称 --debug
比如:npx playwright test test.spec.js --debug文章源自玩技e族-https://www.playezu.com/279570.html
4、图片比对:
playwright 目前不支持图片比对命令,但是可以通过安装依赖实现图片的比对操作,如果操作步骤如下:
安装依赖:【其中 a/b 选择任意即可】
a、npm install odiff【基于像素的比对】
b、npm install img-ssim【图片相似度对比,分别从亮度、对比度、结构三方面度量,值越大越相似】
c、npm install mocha【非必需,nodejs 测试库】
d、npm install mochawesome【非必需,生成测试报告】
e、npm install istanbul【js 单元测试覆盖率】
引入依赖:
进行图片比对:
5、接口 mock:
playwright 自带
安装插件: https://github.com/HLTech/mockiavelli
a、 npm install mockiavelli -D
b、 引入依赖:import { Mockiavelli } from 'mockiavelli';
c、实例化
d、mock 接口
e、调用接口 mock
6、补充:
### 其他命令的细节,请参见官网。
未知地区 9F
除了官方的介绍 还有什么其他资料吗 比如中文的
未知地区 8F
不错,完了研究一下
未知地区 7F
比较少了个社区活跃度,selenium 有啥问题,随便找答案,这?有哪位深入了解了
未知地区 6F
互联网大厂标配哇
未知地区 5F
测试都用起了 mac
未知地区 4F
看完了入门文档,我才知道我连门都入不了
未知地区 3F
测试会后端的多点,playwright 对前端要求高
未知地区 2F
回头研究一下
未知地区 1F
playwright 的执行速度感觉比 selenium 快很多,不知道为啥 playwright 的使用人数不多,是有什么原因吗