工具对比篇| Playwright vs seleium

Selenium和play wright都是作为ui自动化的工具, 很方便让我们获取交互页面的信息,对于初学者和开发者,他们两个选型,往往陷入抉择, 今天就带大家一起从角度对比这两个框架.

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

总结:

Playwright的优点是简单方便、功能强大、稳定性高,缺点是相对新,用户群体少,学习资料少。
Selenium的优点是灵活性高、用户群体大、学习资料多,缺点是需要自己封装或者导入其他模块来实现一些功能,启动速度慢,稳定性差, 但好在生态好.

PlaywrightSelenium都是用于自动化测试网页取的工具,它们有一些相似之处,但也有一些区别。下面是它们之间的对比: 1. 多语言支持: - Playwright:支持多种编程语言,包括JavaScript、Python.NET等。 - Selenium:同样支持多种编程语言,包括Java、Python、C#Ruby等。 2. 浏览器支持: - Playwright:支持多种浏览器,包括Chrome、FirefoxWebKit等。 - Selenium:同样支持多种浏览器,包括Chrome、Firefox、SafariEdge等。 3. 异步支持: - Playwright:内置了对异步操作的支持,可以更好地处理异步任务。 - Selenium:在处理异步任务时相对较为繁琐,需要手动添加等待时间或者使用显式等待。 4. 性能: - Playwright:在性能方面表现出色,具有更快的执行速度更低的资源消耗。 - Selenium:相对而言,性能稍逊一些,执行速度较慢且资源消耗较高。 5. 安装配置: - Playwright:安装配置相对简单,可以通过npm或pip等包管理工具进行安装。 - Selenium:安装配置相对复杂,需要下载并配置浏览器驱动程序。 6. API设计: - Playwright:API设计更加现代化直观,提供了更多的高级功能选项。 - Selenium:API设计相对传统,较为冗长,但也具备强大的功能。 7. 社区支持: - Playwright:虽然相对较新,但已经得到了广泛的关注支持,并且有一个活跃的社区。 - Selenium:作为老牌的自动化测试工具,拥有庞大的社区丰富的资源。 总体而言,Playwright在一些方面相对于Selenium具有更好的性能更现代化的API设计。但是,选择使用哪个工具还是要根据具体需求个人偏好来决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿阿三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值