playwright入门-初识(理论篇)

写在前面

说起与playwright的第一次相遇,那必须得安利一个公众号:《CKL的思考空间》

playwright相关文章,还是今年1月份在公众号中第一次看到,当时还没去深入探究。最近项目出了个小问题,手工测试web页面时将一个UI问题漏到了生产上。

为了解决这个问题,也为了之后能快速验证页面变动,就决定探索下playwright的功能,看看是不是可以更加方便快捷的解决问题。

下面开启探索之路~~~

Playwright是个啥?

Playwright 是由 Microsoft 开发的一款端到端的测试工具,首次开源于 2020 年 1 月。

它允许开发者对 Web 应用进行UI自动化测试,其功能类似与selenium,但它支持多种现代 Web 浏览器。

Playwright 是跨平台的,能够在 Windows、Linux 和 macOS 上运行,提供了一个高级的 API 用于创建浏览器自动化脚本。

Playwright 支持JavaScript / TypeScript、Python、Java、.net等多种语言。

官网地址:https://playwright.dev/python/

Playwright能做啥?

1. Playwright可以更加方便快捷的进行端到端测试;

2. Playwright可以实现跨浏览器测试,包括 Chromium(Chrome、Edge)、Firefox 和 WebKit(Safari),覆盖更广范围的用户场景;

3. Playwright可以像selenium一样结合测试框架(如pytest,junit等),实现自动化测试;

4. Playwright可以用来查找分析在不同的浏览器下的性能,查找性能瓶颈;

5. Playwright可以用来模拟移动设备,进行移动端的web网页测试,功能类似开发者工具中的设备工具栏;

6. 由于Playwright是直接操作浏览器内核的,可以更加方便的模拟各种浏览器行为,因此也可以用来做爬虫等(感兴趣的小伙伴请自行研究)。

Playwright为啥🔥?

探究这个问题,就不得不拿出selenium来做个对比了,selenium作为同样优秀的一款UI自动化工具,Playwright为啥能和它PK?经过了解后,总结一下几点:

安装配置

selenium除了需要安装本身的插件外,还需要安装与被操作浏览器版本相匹配的驱动(比如装了122.0.6261.129版本的chrome浏览器,那就必须装对应版本的chromnium,如果版本不一致,可能会出现各种奇奇怪怪的问题),但是playwright自身就封装了多个浏览器的内核,包括Chrome、Firefox和WebKit(Safari)等,不需要额外考虑环境匹配问题,完美~

操作原理

selenium 通过webdriver API 对浏览器本身进行操作,playwright 则是通过websocket与浏览器内核保持一个长链接,然后直接操作内核

执行效率

selenium 是通过操作浏览器本身工作的,格外依赖浏览器和驱动的版本,另外,selenium必须要等待当前步骤执行完毕,才能继续下一步的执行,是同步行为,所以selenium执行的效率会比较低;playwright 则是直接操作浏览器的API,不依赖浏览器本身,而且提供了同步和异步两种API形式,因此,playwright会高于selenium,尤其是在运行大规模测试时,更为明显

程序语法

selenium 的元素定位方式较为灵活(还记得八大元素定位吗......),但相对比较复杂,playwright则对元素定位进行了高度封装,语法更为简洁明了(后续会出一些demo作为比较)

文档支持

selenium 作为老牌自动化工具,其社区和文档支持较为丰富,playwright 作为后起之秀,还在发展中

文末总结

selenium和 playwright 都是流行的自动化测试工具,都拥有丰富的功能和API,都支持多浏览器,但是 playwright 解决了selenium存在的诸多痛点,如:安装配置繁琐、执行效率偏低、不支持异步操作、语法较为复杂等问题,因此 playwright 在开源后,迅速占领了诸多测试团队的心。

当然,它们的使用场景还是有所区别的,各位测试之星可以根据实际项目不同的需求和场景,自行选择合适的自动化测试工具来进行测试。

最后,在安利一个大佬的B站视频,供大家一起学习:山豆根行者的个人空间-山豆根行者个人主页-哔哩哔哩视频

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值