Playwright VS Selenium VS Puppeteer VS Cypress
2021-01-04 17:00 虫师 阅读(8275) 评论(6) 编辑 收藏 举报参考:https://www.testim.io/blog/puppeteer-selenium-playwright-cypress-how-to-choose/
这四款自动化测试框架在我们的公众号都有介绍。上周介绍了新出 Playwright,那这款工具有什么优点,是否值得我们投入精力学习。
关键对比
接下来,我会通过一些维度来进行对比。
支持语言
- Playwright: ✅✅✅✅ 支持主流语言:JavaScript & TypeScript\python\C#\Go\Java
- Selenium: ✅✅✅✅✅ 支持主流语言:java\python\ruby\C#\C++\JavaScript
- Cypress: ✅ 只支持 JavaScript & TypeScript
- Puppeteer: ✅✅ 只支持 JavaScript & TypeScript \ python
覆盖浏览器
- Playwright: ✅✅✅ 支持Chromium/WebKit/Firefox
- Selenium: ✅✅✅✅✅ 运行在目前所有主流浏览器上(不包括国内套皮的浏览器)。
- Cypress: ✅✅ 只支持 Chrome/Firefox
- Puppeteer: ✅✅ 只支持 Chrome/Firefox
支持多标签 + 表单
- Selenium: ✅✅✅ 通过
switch_to
切换,但不好用。 - Cypress: ❌ 没有真正支持
- Puppeteer: ✅✅✅✅✅ 更符合直觉的 API
- Playwright: ✅✅✅✅✅ 更符合直觉的 API
为证明playwright 更简单,我们来做个代码对比。
测试创建速度
- Selenium: ✅ Yes Selenium IDE可以录制脚本。
- Cypress: ❌ 不支持脚本录制。
- Puppeteer: ✅✅ Yes 基于Puppeteer Recorder录制脚本。
- Playwright: ✅✅ Yes 基于
playwright codegen
命令录制脚本。
并行网格和基础服务
- Selenium: ✅ Yes 托管或构建自己解决方案。
- Cypress: