Cucumber 使用报告程序插件生成报告,其中包含有关哪些场景已通过或失败的信息。
一些插件是内置的,其他的则需要单独安装。您也可以构建自己的插件。
本页面记录了内置格式化程序插件、自定义格式化程序和一些常见的第三方插件。可用的插件可能因编程语言而异。
Cucumber 报告服务
最简单的开始使用报告的方法是使用 Cucumber Reports 服务。
观看 此视频 以快速入门,或阅读介绍性的 博客文章 以了解更多详细信息。
目前支持以下版本发布到 Cucumber Reports 服务
- Cucumber-JVM
6.7.0
及更高版本 - Cucumber-Ruby
5.1.1
及更高版本 - Cucumber-JS
7.0.0
及更高版本
内置报告程序插件
如果您不想将报告发布到 Cucumber Reports 服务,您可以使用以下内置报告程序插件(也称为“格式化程序”)生成本地报告
消息
进度
漂亮
html
json
重试
junit
testng
消息
进度
漂亮
html
json
重试
junit
testng
消息
html
json
进度
重试
代码片段
使用情况
junit
还提供了一个“漂亮”格式化程序,作为可选模块 @cucumber/pretty-formatter。
消息
进度
漂亮
html
json
重试
junit
自定义格式化程序
Cucumber 实现是可扩展的,因此您可以编写并使用自己的格式化程序,或使用其他人发布的第三方格式化程序。这涉及创建实现/扩展标准格式化程序接口的类。
有关如何在 cucumber-js 中使用和编写自定义格式化程序的详细文档,请在此处查看
在 features/support
目录中添加格式化程序类后,您可以使用 --format
标志引用它
cucumber --format MyModule::CustomFormatter
添加格式化程序类后,您可以使用 --format
标志引用它
cucumber --format CustomFormatter
添加格式化程序类后,您可以使用 --format
标志引用它
cucumber --format CustomFormatter
格式化程序 API
Cucumber 为其格式化程序使用基于事件的 API。这些格式化程序响应多个定义的事件,这些事件在所有官方实现中都是通用的,这些实现都符合 Cucumber Messages 标准。
第三方插件
还有许多第三方插件
- Masterthought
- TeamCity - 以可供 TeamCity 构建代理解释的格式打印 Cucumber 结果。
- teamcity_formatter - 与 Cucumber 2 兼容。
- cucumber_teamcity - 在 Cucumber 1.3.18 和 TeamCity 8.x 上测试。
- TextmateFormatter 以 HTML 格式打印 Cucumber 结果,其中包含增强样式和 Javascript,适用于 Textmate(从 Cucumber 0.4.5 开始包含在 Cucumber 核心版中)
- SlowHandCuke - 对 Pretty 格式化程序进行调整,以在运行时显示当前正在运行的步骤
- timestamped-scenarios - 在每个场景名称后面附加测试运行时间戳,以显示正在输出的时间戳。
- Fivemat - Cucumber 格式化程序,为每个测试文件提供自己的点行。
- Fuubar - 即时失败的进度条格式化程序
- cucumber_timing_presenter - 格式化程序,用于计算计时指标以及两个图表,显示步骤时间对整体构建时间的影响。
- ReportPortal.io 适配器 - 用于将 CucumberJS 测试实时报告到 ReportPortal 测试自动化仪表板中的代理。
- Bilgerat - 将失败消息发送到 HipChat 房间的格式化程序。
- cucumber_statistics - 跟踪计时并在单个 HTML 页面中显示结果,其中异常值在可按各种指标排序的表格中突出显示。
- cucumber_characteristics - 生成有关总体测试计时以及步骤、功能和示例的计时和使用的 HTML/JSON 报告。还列出了未使用的和模糊的(Cucumber 1.x)步骤。与 Cucumber 1.x 和 2.1+ 以及 Ruby 1.9+ 兼容。
- allure-cucumber - Allure 的 Cucumber 适配器。此格式化程序为 Allure 报告框架生成 XML 文件。
- Cluecumber - 用于清晰简洁的 Cucumber 报告的 Maven 插件。
- Cucelastic - 将测试报告数据推送到 Elastic Search 的 Maven 插件,使用户能够插入 Kibana 等与 UI 无关的工具来可视化动态且易于共享的报告/仪表板,并有过滤和分析数据的可能性,并在团队之间扩展和共享数据。
- cucumber-reporting-plugin - 一个 Cucumber 插件,它使用 cucumber-reporting 生成漂亮的 HTML 报告
- Serenity/JS - 一个验收测试和报告框架,具有深入的 HTML 报告、Screenplay Pattern API,并支持每个版本的 Cucumber.js。
- Lippia 测试管理器 - Lippia 测试管理器结合使用 Gherkin 来支持使用 Cucumber 进行手动和自动测试运行。它允许用户使用 Gherkin 语言编写测试,而无需集成开发环境 (IDE),并将其存储在代码库中,从而无需在手动和自动场景之间进行映射,因为它使用 .feature 文件。查看在此处获取自动化测试结果的示例:https://github.com/lippia-io/