Karate MockServer是否计划支持RuntimeHooks及相关问题问询
Karate Mock Server 钩子无法获取场景详情的问题
我们在项目中使用Karate Mock Server模拟被测应用的外部依赖,目标是跟踪并验证被测应用与Mock Server每个端点的交互情况。
我们发现通过configure afterScenario配置的钩子,相比常规场景的RuntimeHooks存在局限:在afterScenario的JavaScript方法中,通过karate.scenario对象无法获取Mock服务对应的场景详情——例如只能获取Feature级别的标签,无法获取Scenario级别的标签。
虽然可以在每个Mock Server场景中重复调用跟踪代码,但这会造成代码冗余,因此使用钩子是更优方案。我们想明确两个问题:
- 是否有办法为MockServer实现类似
Runner.path(x).hook()的全局钩子能力? - 如果目前暂不支持,烦请告知相关的限制原因。
我们曾在Mock Server的Background中进行如下配置:
Background: * configure afterScenario = function() { karate.log(karate.scenario) }
但所有场景返回的详情完全一致,示例输出如下:
{ "sectionIndex": -1, "stepResults": [ ], "line": 0, "description": null, "durationMillis": 0.0, "failed": false, "tags": [ <-- 此处仅显示Feature级标签,而非Scenario级标签 "openapi=openapi/openapi-demo.yaml", "mock" ], "executorName": null, "name": null, "startTime": 0, "refId": "[0:0]", "endTime": 0, "exampleIndex": -1 }
内容的提问来源于stack exchange,提问作者Alberto Ceballos
相关产品推荐
相关产品推荐

