Cypress - 报告


Cypress 内置了 Mocha。因此,任何可以为 Mocha 生成的报告也可以用于 Cypress。除此之外,Cypress 还支持其他第三方报告工具,例如 JUnit 和 TeamCity。

Mochawesome 报告

Mochawesome 报告是 Cypress 中最重要的报告之一。

  • 安装 mochawesome,请运行以下命令:

npm install mochawesome --save-dev

您的电脑上将出现以下屏幕:

Install Mochawesome
  • 要安装 mocha,请运行以下命令:

npm install mocha --save-dev

您的电脑上将出现以下屏幕:

Install Mocha
  • 合并 mochawesome json 报告,请运行以下命令:

npm install mochawesome-merge --save-dev

您的电脑上将出现以下屏幕:

Merge Mochawesome JSON Reports

安装所有这些包后,应该会在 package.json 文件中反映出来。

要将多个报告合并到单个报告中,请运行以下命令:

npm run combine-reports

cypress.json 文件中的配置

在 cypress.json 文件中,我们可以为 mochawesome 报告设置以下配置:

  • overwrite - 如果其值为 false,则不应覆盖先前生成的报告。

  • reportDir - 这是保存报告的位置。

  • quiet - 如果其值为 true,则不应有与 Cypress 相关的输出。只有 mochawesome 输出需要打印。

  • html - 如果其值为 false,则执行后不应生成 html 报告。

  • json - 如果其值为 true,则会生成包含执行详细信息的 json 文件。

在 cypress.json 中的实现

在 cypress.json 中 mochawesome 报告的实现如下:

{
   "reporter": "mochawesome",
   "reporterOptions": {
      "reportDir": "cypress/results",
      "overwrite": false,
      "html": false,
      "json": true
   }
}

要为 Cypress 项目 integration 文件夹中的所有规范生成报告,请运行以下命令:

npx cypress run

要运行特定测试,请运行以下命令:

npx cypress run --spec "<path of spec file>"

执行完成后,将在 Cypress 项目中生成 mochawesome-report 文件夹,其中包含 html 和 json 格式的报告。

JSON Formats.

右键单击 mochawesome.html 报告。然后,选择“复制路径”选项,并在浏览器中打开复制的路径。

Mochawesome HTML

mochawesome 报告将打开,其中包含执行结果、持续时间、测试用例名称、测试步骤等详细信息。

单击屏幕左上角的图标(在上图中突出显示),将显示更多选项。

Mochawesome Report

我们可以获得不同的视图来选择已通过、已失败、挂起、已跳过的测试用例以及应用于测试的钩子。

JUnit 报告

Cypress 提供另一种类型的报告,称为 JUnit 报告。

要安装 JUnit 报告的包,请运行以下命令:

npm install cypress-junit-reporter --save-dev

您的电脑上将出现以下屏幕:

JUnit Report

在 cypress.json 中的实现

以下是 cypress.json 中 JUnit 报告的实现:

{
   "reporter": "junit",
   "reporterOptions": {
      "mochaFile": "cypress/results/results.xml",
      "toConsole": true
   }
}

如果我们在一次运行中运行多个测试,并且希望为各个规范文件生成唯一的报告,则必须在 cypress.json 中的 mochaFile 参数中添加 [hash]。

避免覆盖报告的实现

以下是 cypress.json 中避免在 Cypress 中覆盖报告的实现:

{
   "reporter": "junit",
   "reporterOptions": {
      "mochaFile": "cypress/results/results-[hash].xml",
      "toConsole": true
   }
}

要为 Cypress 项目 integration 文件夹中的所有规范生成报告,请运行以下命令:

npx cypress run --reporter junit

您的电脑上将出现以下屏幕:

Cypress Project

执行完成后,将在 Cypress 项目中生成 results 文件夹,其中包含 xml 格式的报告。

TeamCity 报告

Cypress 提供另一种类型的报告,称为 TeamCity 报告。

要安装 TeamCity 报告的包,请运行以下命令:

npm install cypress-teamcity-reporter --save-dev

您的电脑上将出现以下屏幕:

Teamcity Report

要为 Cypress 项目 integration 文件夹中的所有规范生成报告,请运行以下命令:

npx cypress run --reporter teamcity

您的电脑上将出现以下屏幕:

Running
广告