你是否曾为前端 E2E 测试卡在 CI 环境里反复失败而焦头烂额?是否厌倦了 Selenium 的慢启动、随机超时和难以调试的黑盒行为?Cypress 就是为此而生——它不是另一个“又一个测试框架”,而是一套专为现代 Web 应用深度定制的端到端与组件级测试平台。它直接在浏览器中运行测试代码,实时捕获 DOM 状态、网络请求与用户交互,把原本充满不确定性的测试过程,变成可预测、可回放、可调试的开发体验。
核心功能
- 实时可视化测试执行:边跑边看!每一步操作自动截图+录屏,DOM 变化、网络请求、控制台日志全部时间轴式呈现,调试不再靠猜。
- 开箱即用的智能等待机制:无需手动写
wait()或sleep()—— Cypress 自动感知元素加载、API 响应、路由跳转等状态,真正实现“等待即断言”。 - 全栈可观测性:同时监控前端(DOM、事件、Storage)、后端(XHR/Fetch 请求/响应、Mock API)、甚至浏览器控制台错误,一次测试,多维验证。
- 原生支持主流框架组件测试:无缝集成 React、Vue、Angular、Svelte 项目,配合
cypress/react、cypress/vue等官方插件,轻松对单个组件做隔离测试,无需启动完整应用。 - 可靠的跨浏览器兼容性:本地支持 Chrome、Edge、Firefox、Electron;CI 环境一键对接 Chromium Headless,告别“本地能过、CI 报错”的魔幻现实。
- 测试重放与历史对比(Test Replay):借助 Cypress Cloud(可选),自动保存每次运行快照,支持跨版本比对 UI 行为差异,让回归测试真正“看得见变化”。
适合哪些人用
Cypress 是前端工程师、全栈开发者、QA 工程师和 DevOps 团队的共同利器:如果你正在用 React/Vue/Angular 开发 SPA 应用,需要保障关键用户流程(如登录、下单、表单提交)稳定可靠;如果你负责 CI/CD 流水线,渴望将 E2E 测试从“定时炸弹”变为“质量守门员”;或者你是一名测试工程师,希望摆脱繁琐的定位器维护和不可复现的 flaky test——那么 Cypress 就是你值得投入一小时上手、三天爱上、半年离不开的测试伙伴。
快速上手
只需两步,5 分钟启动第一个测试:
- 全局安装:
npm install cypress --save-dev - 初始化并打开测试界面:
npx cypress open(首次运行会自动下载内置浏览器) - 在
cypress/e2e目录下新建login.spec.ts,写一段真实可读的测试代码:
cy.visit('/login')
cy.get('[data-cy="email"]').type('test@example.com')
cy.get('[data-cy="submit"]').click()
cy.url().should('include', '/dashboard')
点击运行,立即看到浏览器自动执行、高亮交互、实时断言结果——没有配置地狱,没有 WebDriver 绑定,只有专注业务逻辑的测试表达。
项目信息
Fast, easy and reliable testing for anything that runs in a browser.
编程语言:TypeScript|GitHub Star 数:50,053|开源协议:MIT|GitHub 项目地址
它不只是一款工具,更是前端测试范式的进化——用开发者友好的方式,把测试真正交还给写代码的人。





