> For the complete documentation index, see [llms.txt](https://kang-bing-kui.gitbook.io/cypress-doc-zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kang-bing-kui.gitbook.io/cypress-doc-zh/master.md).

# Introduction

> **你能学到什么？**
>
> * Cypress 是什么，你为什么要使用它
> * 我们的使命，以及我们的信念
> * Cypress 的主要特性

## 简而言之

Cypress 是为现代网络而构建的下一代前端测试工具。我们解决开发人员和质量保证工程师在测试现代应用程序时面临的关键难题。

我们使它很简单：

* 设置测试
* 编写测试
* 运行测试
* 调试测试

Cypress 经常和 Selenium 相提并论；然而，Cypress 在结构和基础上与之有所不同。Cypress 不受 Selenium 限制。

这能够使你编写更快、更简单和更可靠的测试。

## 谁能使用 Cypress ？

我们的用户通常是使用现代 JavaScript 构建 Web 应用程序的开发人员或者 QA 工程师。

Cypress 能够帮助你编写各种类型的测试：

* 端到端测试
* 集成测试
* 单元测试

Cypress可以测试运行在浏览器中的任何东西。

## Cypress 生态系统

Cypress 是一款免费、开源、本地安装的测试工具和记录测试的服务。

* **首先：** 在本地构建应用程序时，Cypress 能够容易的设置并编写测试。TDD 是最好的例子。
* **其次：** 在建立一套测试系统并将 Cypress 与的 CI 集成后，我们的控制台能够记录你的测试运行。你永远不用去猜测：为什么会失败呢？

## 我们的使命

我们的使命是建立一个蓬勃发展的开源生态系统，提高生产力，使测试成为愉快的体验，并未开发者带来快乐。我们自己负责支持实际运作的测试流程。

我们相信我们的文旦应该是简单易懂的。这意味着我们的读者能够充分理解是什么而不是为什么。

我们希望帮助开发者构建出更快、更好并且没有管理测试相关的压力和焦虑的新一代应用程序。

我们知道，为了使我们取得成功，我们必须启用和培育一个蓬勃发展的开源生态系统。测试代码的每一行都是对代码库的投资，它永远不会与我们作为付费服务或公司联系在一起。测试总是能够独立的运行和工作。

我们相信测试需要很多的❤，因此我们在这里构建了一个工具、一个服务以及一个每个人都可以学习并从中获取收益的社区。我们正在解决网页开发者共同的难题。我们坚信这一使命，并且希望你能加入我们，使 Cypress 成为一个持久的生态系统，帮助每个人获得快乐。

## 特性

Cypress 支持全面。这里是一些 Cypress 能够但是其他框架不能够做到的：

* **时间旅行：** 当你的测试运行的时候 Cypress 会进行快照。只需在命令日志中鼠标悬停，就能查看每一步的具体情况。
* **可调试：** 停止猜测你的测试失败的原因。直接从熟悉的工具（如：Chrome DevTools）进行调试。我们的可读错误和堆栈跟踪使得调试快如闪电。
* **自动等待：** 请勿添加等待或者睡眠到你的测试中。Cypress 能够自动等待命令和断言。不会产生异步地狱。
* **间谍、存根和时钟：** 验证和控制函数、服务器响应或者计时器的行为。这些你喜爱的在单元测试中的功能也可以使用。
* **网络流量控制：** 轻松控制、存储和测试的边界情况，而不涉及你的服务器。只要你喜欢，你就可以存储网络流量。
* **一致的结果：** 我们的架构不使用 Selenium 或者 WebDriver。向快速、一致和可靠的无剥落测试问号。
* **截图和视频：** 查看故障时自动执行的截图或者从 CLI 运行整个测试套件的视频。

### 设置测试

没有服务器、驱动程序或者其他任何依赖项的安装或配置。你可以在 60 秒内写出你的第一个能够通过的测试。

### 编写测试

使用 Cypress 编写的测试很容易阅读和理解。我们的 API 已经完全支持你已经熟悉的工具。

### 运行测试

Cypress 的运行速度与浏览器渲染内容一样快。你可以在开发应用程序时实时观看测试。

### 调试测试

可读的错误消息可帮助您快速调试。您还可以访问您熟悉并喜爱的任何开发调试工具。
