既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
编号 | 功能 | 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 分。
对此你有什么想法,评论区留言吧
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**