Playwright 和 Selenium的对比

这篇具有很好参考价值的文章主要介绍了Playwright 和 Selenium的对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

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

Playwright 和 Selenium 的区别

编号 功能 Playwright Selenium 哪个更优秀
1 学习资料 相对少 Selenium
2 用户群体 出现的比较晚,用户量相对少 出现的早,用户量多 Selenium
3 支持语言 TypeScript、JavaScript、Python、.NET、Java C#,Java,Perl,PHP,Python 和Ruby Selenium
4 支持浏览器 Chromium(包含chrome, msedge)、WebKit 和 Firefox IE(7, 8, 9, 10, 11),Firefox,Safari,Google Chrome,Opera,Edge等 Selenium
5 跨平台 Windows,Linux(只支持Ubuntu部分系统) ,Mac Windows,Linux,Mac 都支持 Selenium
6 浏览器安装 命令行安装 自己安装 Playwright
7 浏览器驱动 不需要驱动 下载对应版本驱动 Playwright
8 启动速度 Playwright
9 context 环境隔离 Playwright
10 headless 无头模式 默认headless, 也可以设置GUI 默认GUI模式,也可以设置headless Playwright
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
18 iframe 通过对象操作,不用切换 需要来回切换 Playwright
19 alert 默认监听自动关闭,可以异步监听 需要自己判断,无异步监听 Playwright
20 文件上传 监听文件上传时间,处理优雅 无法解决非input 上传 Playwright
21 文件下载 可以监听下载 只能设置浏览器默认位置 Playwright
22 多窗口标签 可以监听窗口事件,操作方便 需要来回切换 Playwright
23 事件监听 可以监听各种事件 无法监听 Playwright
24 捕获ajax 请求 可以捕获ajax 请求和 返回 无法捕获 Playwright
25 mock 功能 可以模拟想要的任何接口数据 无mock 功能 Playwright
26 断言 提供expect 丰富断言 需要自己封装webdriverwait.until方法,难度较大 Playwright
27 录制视频 录制用例视频 Playwright
28 trace 追踪 Playwright
29 断点调试 Playwright
30 录制 可以生成pytest用例 录制功能比较简单 Playwright
31 鼠标键盘操作 调用简单方便 导入模块,操作复杂 Playwright
32 base_url 可以添加全局base_url 无此功能 Playwright
33 接口测试 提供接口测试 无此功能 Playwright
34 grid 分布式 selenium-grid 分布式 Selenium
35 协议 websockt 协议,可以实时获取页面状态 http 协议,只能获取当时的状态,需自己轮询判断 Playwright
36 执行JavaScript 可以在page,iframe,元素对象执行JavaScript 只能在driver对象执行JavaScrip Playwright
37 面试 要求playwright 比较少 问selenium 比较多 Selenium
38 学习难易程度 容易,无需封装,直接用 难度较大,需要封装 Playwright

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

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

正在做测试的朋友可以进来交流,群里给大家整理了大量学习资料和面试题项目简历等等....文章来源地址https://www.toymoban.com/news/detail-751690.html

到了这里,关于Playwright 和 Selenium的对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【软件测试】python+selenium自动化测试

    一、什么是自动化测试 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最 后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 单元测试 java的单元测试框架是Junit,在这里不再赘述。 接口自动化 接口测试就是

    2023年04月09日
    浏览(90)
  • 软件测试 自动化测试selenium篇(一)

    目录 一、什么是自动化测试  单元测试  接口自动化  UI自动化 二、如何实施自动化测试  自动化测试需要了解的技能 三、selenium介绍 webdriver的工作原理:  四、Selenium+Java环境搭建                    验证环境是否搭建成功 创建java项目,添加pom文件中添加依赖 常见问题

    2024年02月07日
    浏览(69)
  • 软件测试/测试开发丨Selenium环境安装配置

    1、下载浏览器 目前比较常用的浏览器是 Google Chrome 浏览器,所以本教程以 chrome 为主,后面简介一下其他浏览器的环境配置。 chrome 下载: www.google.cn/chrome/ 2、chromedriver 环境配置 chromedriver 是chromedriver提供的浏览器驱动程序,他的作用是将代码的请求转发给浏览器。 (1)ch

    2024年02月03日
    浏览(84)
  • 软件测试面试题(Selenium相关)

    1、什么是Selenium? Selenium 是一个开源的自动化测试框架,主要用于自动化Web应用程序的测试。它支持多种浏览器(如Chrome、Firefox、Safari、Internet Explorer等)和多种编程语言(如Java、C#、Python、Ruby、JavaScript等),使测试人员可以编写测试脚本来模拟用户对Web应用程序的交互,

    2024年03月15日
    浏览(55)
  • 软件测试/测试开发丨Selenium 高级控件交互方法

    使用场景 对应事件 复制粘贴 键盘事件 拖动元素到某个位置 鼠标事件 鼠标悬停 鼠标事件 滚动到某个元素 滚动事件 使用触控笔点击 触控笔事件(了解即可) www.selenium.dev/documentati… 实例化类ActionChains,参数为driver实例。 中间可以有多个操作。 .perform() 代表确定执行。 按下

    2024年02月03日
    浏览(71)
  • 【软件测试】面试题之selenium篇

    2024年01月18日
    浏览(67)
  • 【软件测试】selenium中元素的定位

    不管用那种方式,必须保证页面上该属性的唯一性 CSS(Cascading Style Sheets) 是一种语言,它被用来描述 HTML 和 XML 文档的表现。 CSS 使用选择器来为页面元素绑定属性。这些选择器可以被 selenium 用作另外的定位策略 CSS 的获取可以用 chrome 的 F12 开发者模式中 Element- 右键 -copy-cop

    2024年02月16日
    浏览(43)
  • 软件测试|selenium执行js脚本

    JavaScript是运行在客户端(浏览器)和服务器端的脚本语言,允许将静态网页转换为交互式网页。可以通过 Python Selenium WebDriver 执行 JavaScript 语句,在Web页面中进行js交互。那么js能做的事,Selenium应该大部分也能做。WebDriver是模拟终端用户的交互,所以就不能点击不可见的元素

    2024年02月05日
    浏览(43)
  • 软件测试(五)自动化 selenium

    自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器(代码)执行的过程。(简单而言其实就是降低重复性的工作(大部分是Python)) 自动化测试的具体实现,应该是包含下

    2024年02月08日
    浏览(62)
  • Selenium 学习(0.18)——软件测试之基本路径测试

            是一种白盒测试方法,它在程序控制流图的基础上,通过分析控制构造的环行复杂性,导出基本可执行路径集合,从而设计测试用例的方法。         要保证在测试中程序的每一个可执行语句至少执行一次         【这和语句覆盖区别在哪里呢? 】     

    2024年02月03日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包