Cypress 自动化测试框架介绍与使用

阅读时长 5 分钟读完

Cypress 是一个现代化的前端自动化测试框架,它能够快速地测试 Web 应用程序并提供详细的测试结果和错误信息。它主要被用于单页面应用和 react 应用程序的测试。Cypress 的特点是快速、高效、可靠,使用者可以方便地编写测试代码,并通过实时的测试结果来迅速定位错误,减少调试时间。

为什么选择 Cypress

Cypress 提供了强大的测试 API,集成了断言库和跨浏览器测试工具,能够用来测试 Web 应用程序的各种前端功能。其主要特点有:

  • 可以快速测试 Web 应用程序
  • 提供现代测试 API 和断言库
  • 支持交互式断点调试
  • 实时监测测试信息和错误信息,方便快速修复错误
  • 提供后续测试替代品

Cypress 使用者可以方便地编写测试代码,并通过实时的测试结果来迅速定位错误,减少调试时间。

Cypress 安装和使用

安装 Cypress

首先需要确保安装了 Node.js,然后执行以下命令来安装 Cypress:

编写测试用例

Cypress 的测试用例可以编写在 cypress/integration 目录下,测试用例以 .spec.js 结尾。例如:

测试代码中的 cy.visit() 方法用于访问测试网址,cy.get('button').click() 用于获取按钮并触发点击事件。这个例子的意思是测试点击按钮后是否显示了目标内容。

运行测试用例

启动 Cypress 用例运行器:

这将启动 Cypress 用例运行器,您可以在其中看到测试用例列表并单击要运行的用例。 Cypress 会自动打开一个浏览器窗口开始运行测试代码。

结果查看

测试结果会在 Cypress 界面中实时更新,也可以在 cypress/videos 目录下找到视频文件来查看用例运行过程。如需要将测试结果保存成报告,可以使用 mochawesome 等测试报告工具进行生成。

Cypress 高级使用

点击 VS 触发

在 Cypress 中,从 DOM 中触发事件有时候不够准确,因为我们在一段时间内可能并不知道何时能够触发事件。如果是让用户自己点击,这可能会导致一些问题。因此,我们可以使用 cy.contains()cy.contains().click() 函数来生成事件,如:

cy.contains() 函数将搜索页面中的文本,然后通过选择器而找到元素,click() 方法在找到某个元素后触发对应的事件。

数据存储

我们可以在测试用例中使用 cy.readFile()cy.writeFile() 来读取和写入数据。例如,在使用 Cypress 进行表单测试时,我们可以保存表单数据,从而避免重复输入完整的数据。当使用 cy.writefile() 时,文件将被存储在 cypress/fixtures 目录下。

-- -------------------- ---- -------
-------------- ---- ------ ---------- -
   --------- --- ---- ---- ----- --------- ---------- -
     ----------------------------------
     -------------------------------------------
     --------------------------------------------------------
     ------------------------------------------------
     ------------------------------------------ -
      ----- --------
      ------ --------------------
      --------- --------
    ---
  ---
---

使用 cy.writeFile() 的同时,同时在应用程序页面输入相应的文本。

认证API

Cypress 使 API 认证变得非常简单。可以使用 cy.request()cy.login() 函数来进行认证。如下所示:

-- -------------------- ---- -------
--------------- ------ ---------- -
  ---------- ----- ----- ------ ---------- -
    ------------------------------------------
  ---

  ---------- ------- ---------- -
    -------------------- ------------
  ---
---

断点调试

在 Cypress 中,您可以在测试代码中设置断点来调试代码。当测试代码运行时,它将停止在断点处,并允许您逐步调试代码。

注意代码中被包裹在 debugger 语句中的行,在执行到这一行的时候会自动停下,然后您就可以逐步跟踪测试流程了。

总结

Cypress 是一款非常强大,且易于使用的前端自动化测试框架。它具有许多功能,支持所有流行的测试 API 和断言库。在测试开发进程中,通过使用 Cypress 可以大大简化测试流程,将更多精力专注于测试的业务逻辑部分。在后续的开发过程中,开发人员们可以根据测试用例的结果,修补相关的代码或对相关文档进行修改,从而达到了显著提高质量的目标。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/648fd64c48841e9894dfc797

纠错
反馈