第250119期 - cypress

47.7k star,这应该是24年最火的javascript开源项目吧!

Cypress 是一个现代化的前端测试工具,专为现代 Web 应用程序设计。它提供了快速、简单且可靠的测试解决方案,能够在浏览器中运行任何内容。Cypress 的目标是解决开发团队在测试现代应用程序和维护测试套件时面临的关键问题。

项目简介

Cypress 是一个开源项目,旨在简化前端测试过程。它不仅适用于开发人员,还适用于质量保证工程师和希望提高现有应用程序质量的团队。Cypress 提供了端到端测试、组件测试、可访问性测试和 UI 覆盖等解决方案。通过 Cypress,用户可以在本地编写和运行测试,并通过 Cypress Cloud 记录测试结果、提供测试分析。

项目特点

  1. 快速安装和配置:Cypress 的安装和配置非常简单。用户只需运行 npm install cypressyarn add cypress 即可完成安装。
  2. 直接在浏览器中运行:Cypress 直接在浏览器中运行测试,用户可以使用熟悉的浏览器开发者工具调试失败的测试。
  3. 消除片状测试:Cypress 以确定性的方式与应用程序交互,能够在用户发现间歇性错误之前发现它们。
  4. 与 CI 提供商集成:Cypress 可以轻松集成到现有的 CI 管道中,用户可以使用 Docker 映像或自带的 CI 资源。
  5. Cypress Cloud:Cypress Cloud 提供了测试并行化、负载平衡、规格优先级等功能,帮助用户优化运行效率。
  6. 可视化调试:Cypress 提供了 Test Replay 功能,用户可以回溯时间,直接检查 DOM、网络事件和控制台日志。
  7. 深入分析:Cypress 提供了对测试套件健康状况的深入分析,显示失败和片状测试结果趋势以及影响测试套件性能的配置更改。
  8. 无缝集成:Cypress 可以无缝集成到任何 CI 管道中,并与 Slack、Teams、GitHub、GitLab、JIRA 等工具原生集成。

如何快速开始

  1. 安装 Cypress:在项目目录中运行以下命令安装 Cypress:

    npm install cypress --save-dev
    

    或者

    yarn add cypress --dev
    
  2. 编写第一个测试:安装完成后,可以在项目目录中创建一个测试文件,例如 cypress/integration/sample_spec.js,并添加以下内容:

    describe('My First Test', () => {
      it('Does not do much!', () => {
        expect(true).to.equal(true)
      })
    })
    
  3. 运行测试:在项目目录中运行以下命令启动 Cypress 测试界面:

    npx cypress open
    

    在打开的 Cypress 界面中,选择刚刚创建的测试文件并运行测试。

  4. 调试测试:Cypress 直接在浏览器中运行测试,用户可以使用浏览器开发者工具调试失败的测试。Cypress 提供了详细的错误信息和截图,帮助用户快速定位问题。

  5. 集成到 CI:Cypress 可以轻松集成到现有的 CI 管道中。以下是一个使用 GitHub Actions 运行 Cypress 测试的示例配置:

    name: Cypress Tests
    on: [push]
    jobs:
      cypress:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout the latest commit
            uses: actions/checkout@v4
          - name: Cypress run
            uses: cypress-io/github-action@v6
            with:
              build: npm run build
              start: npm start
    

通过以上步骤,用户可以快速开始使用 Cypress 进行前端测试。Cypress 提供了丰富的功能和强大的工具,帮助用户提高应用程序的质量和开发效率。无论是开发人员还是质量保证工程师,都可以从中受益。

网址:github.com/cypress-io/cypress