话题动态
发起者
刘一帧
话题状态
等待首个回复
参与人
1
互动热度
0
最近在给手头一个复杂的后台业务系统补 E2E,顺便把 Cypress 和 Playwright 重新拉出来溜了一圈,感触挺深的。
前几年我们团队是 Cypress 死忠粉,那个开箱即用的 UI 界面确实讨喜。但这次业务里碰到几个硬骨头,比如跨域的 SSO 联合登录、需要跳新 tab 预览 PDF、还有复杂的 iframe 嵌套编辑器。写过 Cypress 的懂的都懂,处理多 tab 和跨域就像在跟它的架构较劲,各种 workaround 叠 Buff,CI 跑起来还动不动 flaky。
换到 Playwright 之后,底层基于 CDP 这些协议走,原生支持 multi-page 和多 context,写起来就是标准的 async/await,跟写 Golang 或后端测试逻辑一样直观。最直观的是速度,同样 30 来个用例,Playwright 走自带的并发跑完 2 分钟出头,Cypress 晃晃悠悠跑了快 6 分钟,对 CI 机器资源的消耗完全不是一个量级。
我现在个人偏向挺明显的:在中大型、页面跳转多、依赖复杂微前端或第三方的场景下,Playwright 几乎是降维打击。
不过也有做基础建设的同事跟我争,觉得 Cypress 的 Component Testing 结合 Vite 体验更轻量,对业务线新人来说学习门槛更低,不需要去理解 context 那些概念。
想听听大家怎么看。现在在中大型复杂项目里,还有什么是让你们觉得“非 Cypress 不可”的杀手级特性吗?还是说大家基本都在往 Playwright 转了?
全部回复(0)