karate - 带有并行运行器的 ExecutionHook
问题描述
我正在使用并行运行器来运行 m 个功能文件之一。到目前为止,它有 8 个场景。我想集成第三方报告插件(范围报告)来构建报告。我计划使用 ExecutionHook 接口来尝试实现这一点。以下是我面临的问题,即使在查看文档后也没有发现。
我的问题
- 我正在对afterFeature方法创建一个新测试。这给了我 2 个句柄,Feature 和 ExecutionContext。但是,由于测试是并行运行的,因此报告步骤会相互混淆吗?我该如何处理?我可以使用任何开箱即用的方法吗?
- 为了解决上述问题,我决定在afterAll被覆盖的方法上构建整个报告,但这里我缺少执行上下文数据,所以我不能使用 context.getRequestBuilder() 来获取 url 和路径。
任何帮助都会很棒。
解决方案
请关注 1.0 版本:https ://github.com/intuit/karate/wiki/1.0-upgrade-guide
原因:
- 它为您提供了一种在最后构建整个报告的方法,并且该
Results
对象可以遍历所有ScenarioResult
实例 ExecutionHook
已更改为RuntimeHook
,请参见示例- 是的,因为测试可以并行运行,所以由你来同步,因为框架必须是高性能的,但是
Results
建议在最后使用对象而不是使用RuntimeHook
推荐阅读
- ios - 如何使用 Swift 将存储的值转换为 JSON 格式?
- sql - 如何控制 Spark SQL 查询的输出文件数?
- c# - 使用 C# 的 AES 加密
- javascript - Reactjs 光滑的幻灯片
- javascript - 反应模态自定义组件未显示正确数据
- sql - 加入表格的最佳方法是什么
- java - 解析 2.000,00 到 2000 和 2.000,15 到 2000.15
- javascript - ResizeObserver 在 Edge 和 Firefox for Android 中不起作用
- node.js - 如何导入airbnbapi?
- javascript - 使用 Jest 在 Node-RED 中对自定义节点进行单元测试时出现 setTimeout 错误