是否有Jenkins API可获取Serenity BDD测试报告结果?
获取Jenkins中Serenity BDD测试结果的API方案
当然有可用的Jenkins API端点,结合Serenity BDD的报告特性,你可以通过以下几种方式获取所需结果:
1. 基础构建与测试统计API
- 最新构建基础信息:调用
GET /job/{你的Job名称}/lastBuild/api/json(或换用/xml格式),能拿到构建的状态(SUCCESS/FAILURE/UNSTABLE等)、构建编号、起止时间这些核心数据,用来判断测试是否完成以及整体状态。 - JUnit兼容测试结果:Serenity默认会生成JUnit格式的XML报告,Jenkins一般会自动解析这些报告。你可以调用
GET /job/{你的Job名称}/{构建编号}/testReport/api/json,获取所有测试用例的通过/失败/跳过数量,以及每个用例的详细执行信息。
2. 直接获取Serenity专属报告数据
Serenity的报告文件默认存在构建的target/site/serenity目录下,只要Jenkins配置了工件归档,就能通过API直接获取:
- Serenity汇总JSON:多数Serenity默认配置都会生成
serenity-summary.json,调用GET /job/{你的Job名称}/{构建编号}/artifact/target/site/serenity/serenity-summary.json,这个文件包含了完整的测试统计(总用例数、通过数、失败数、跳过数、执行时长等),非常适合直接解析后渲染到你的自定义HTML页面。 - Serenity报告首页:如果需要展示完整的Serenity报告页面,调用
GET /job/{你的Job名称}/{构建编号}/artifact/target/site/serenity/index.html,可以直接嵌入或跳转这个页面。
3. 关键配置与权限提醒
- 工件归档必须开启:在Jenkins Job的「构建后操作」里添加「归档工件」,设置路径为
target/site/serenity/**,否则Jenkins不会保存Serenity的报告文件,API无法访问。 - API权限认证:如果Jenkins没开匿名访问,请求时要带认证信息——用Jenkins用户的API Token,请求头格式为
Authorization: Basic {Base64编码的「用户名:API Token」}。
推荐的同步流程
- 先调用
/job/{你的Job名称}/lastBuild/api/json拿到最新构建的编号和状态 - 用构建编号调用
serenity-summary.json的API,获取详细统计数据 - 解析JSON数据,把结果渲染到你的自定义HTML页面,实现实时刷新
内容的提问来源于stack exchange,提问作者Hari
相关产品推荐
相关产品推荐

