You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Selenium、JBehave与Serenity,如何让报告仅展示故事成败状态?

让Serenity报告仅展示故事级别的通过/失败状态

当然可行啦!Serenity完全支持调整报告的展示粒度,让你把焦点放在故事级别,不用再纠结单个场景的状态——只要故事里有任意一个场景失败,整个故事就会被标记为失败,报告首页只会显示故事的整体结果。下面是具体的实现步骤:

1. 修改Serenity配置文件

在项目的serenity.properties或者serenity.conf配置文件中添加以下参数:

# 隐藏单个场景的详情展示
serenity.reporting.show.scenarios=false
# 基于故事整体计算结果(有一个场景失败则故事失败)
serenity.reporting.story-level.results=true

这两个配置组合起来,就能让报告默认只展示故事层级的状态,并且按照故事整体来判定通过/失败。

2. 确保JBehave故事结构规范

要让Serenity正确识别故事和场景的归属,你的JBehave故事文件需要遵循标准结构,比如:

Story: 用户账户登录功能

Narrative:
In order to access my personal account
As a registered user
I want to log in using valid credentials

Scenario: 输入正确信息登录成功
Given 我处于系统登录页面
When 我输入有效的用户名和密码并点击登录
Then 我应该进入用户个人主页

Scenario: 输入错误密码登录失败
Given 我处于系统登录页面
When 我输入正确用户名和错误密码并点击登录
Then 我应该看到登录失败的提示信息

规范的结构能让Serenity准确关联场景和所属故事,从而正确计算故事的整体状态。

3. 验证报告效果

运行测试套件后,打开Serenity生成的HTML报告(默认路径是target/site/serenity/index.html),你会发现报告首页只列出了各个故事条目,每个故事的状态要么是通过要么是失败。如果需要查看具体的失败细节,点击对应的故事条目就能展开查看场景的详细信息(虽然默认隐藏了,但还是可以按需展开)。

如果需要更个性化的定制,还可以编写Serenity的自定义报告处理器,但上面的配置已经能满足你的核心需求,不需要额外编码。

内容的提问来源于stack exchange,提问作者Florin Cernat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:33:52