参考: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: