Playwright 和 Selenium的对比

前言

最近有不少同学问到 Playwright 和 Selenium 的区别是什么?
有同学可能之前学过 selenium 了,再学一个 playwright 感觉有些多余,可能之前有项目已经是 selenium 写的了,换成 playwright 需要时间成本,并且可能有未知风险。
也有同学之前可能没学过 selenium ,现在正准备入手一个web 自动化框架,但是对于选择selenium 和 playwright 犹豫不决,因为面试问selenium比较多,可能学了工作中也用不上,仅仅只是应付面试。
不管出于哪种原因,本篇详细分析 2 者的差异

Playwright 和 Selenium 的区别

编号功能PlaywrightSelenium哪个更优秀
1学习资料相对少Selenium
2用户群体出现的比较晚,用户量相对少出现的早,用户量多Selenium
3支持语言TypeScript、JavaScript、Python、.NET、JavaC#,Java,Perl,PHP,Python 和RubySelenium
4支持浏览器Chromium(包含chrome, msedge)、WebKit 和 FirefoxIE(7, 8, 9, 10, 11),Firefox,Safari,Google Chrome,Opera,Edge等Selenium
5跨平台Windows,Linux(只支持Ubuntu部分系统) ,MacWindows,Linux,Mac 都支持Selenium
6浏览器安装命令行安装自己安装Playwright
7浏览器驱动不需要驱动下载对应版本驱动Playwright
8启动速度Playwright
9context 环境隔离Playwright
10headless 无头模式默认headless, 也可以设置GUI默认GUI模式,也可以设置headlessPlaywright
11无痕模式默认无痕模式,对应测试很有帮助,对于爬虫用户可能访问页面不通过默认非无痕默认,爬虫用户特别喜欢Selenium
12页面等待wait_for_load_state可以精准等待commit,domcontentloaded,load,networkidle四种状态implicitly_wait等待页面加载完成Playwright
13元素定位提供多个内置定位器,定位方式更贴近业务,定位方式更多八大定位Playwright
14元素等待定位元素自带等待机制需要自己封装等待方法Playwright
15点击元素等操作会判断元素状态,出现位置,是否可点击智能判断需要自己封装webdriverwait.until方法,难度较大Playwright
16定位报错会人性化告诉你定位到几个元素,并推荐定位方式报错需要自己去猜谜,自己排除各种可能性Playwright
17元素不在当前屏幕会判断元素位置,自动滚动元素出现位置需要自己去判断滚动Playwright
18iframe通过对象操作,不用切换需要来回切换Playwright
19alert默认监听自动关闭,可以异步监听需要自己判断,无异步监听Playwright
20文件上传监听文件上传时间,处理优雅无法解决非input 上传Playwright
21文件下载可以监听下载只能设置浏览器默认位置Playwright
22多窗口标签可以监听窗口事件,操作方便需要来回切换Playwright
23事件监听可以监听各种事件无法监听Playwright
24捕获ajax 请求可以捕获ajax 请求和 返回无法捕获Playwright
25mock 功能可以模拟想要的任何接口数据无mock 功能Playwright
26断言提供expect 丰富断言需要自己封装webdriverwait.until方法,难度较大Playwright
27录制视频录制用例视频Playwright
28trace 追踪Playwright
29断点调试Playwright
30录制可以生成pytest用例录制功能比较简单Playwright
31鼠标键盘操作调用简单方便导入模块,操作复杂Playwright
32base_url可以添加全局base_url无此功能Playwright
33接口测试提供接口测试无此功能Playwright
34grid 分布式selenium-grid 分布式Selenium
35协议websockt 协议,可以实时获取页面状态http 协议,只能获取当时的状态,需自己轮询判断Playwright
36执行JavaScript可以在page,iframe,元素对象执行JavaScript只能在driver对象执行JavaScripPlaywright
37面试要求playwright 比较少问selenium 比较多Selenium
38学习难易程度容易,无需封装,直接用难度较大,需要封装Playwright

总体打分Selenium 8分, Playwright 30 分。

对此你有什么想法,评论区留言吧

正在做测试的朋友可以进来交流,群里给大家整理了大量学习资料和面试题项目简历等等....

  • 10
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值