将屏幕截图附加到 json 报告

Attaching screenshots to json report

将屏幕截图附加到空手道 JSON 报告的最简单方法是什么?

我们测试 REST API 并且我们的测试用例需要在 Web 端执行一些操作(登录 Web 应用程序、执行验证、截屏)。我们已经处理了它,编写了一些静态方法,这些方法使用 Java 互操作机制从 Karate 调用。 我想做的是编写一些通用的、可重用的代码来附加测试执行期间截取的屏幕截图。 我不想重复步骤:

* def bytes = getScreenBytes()
* eval karate.embed(bytes,'image/jpg')

每次报告时都应附上屏幕截图。 最好附上直接从 java 代码截取的屏幕截图,以免在场景中暴露此类细节。 有这种可能吗?

由于您似乎是高级用户 - 您可以试试这个。 karate 对象的类型为 ScriptBridge,您应该能够将其传递到您的自定义 Java 代码中(我们通常不推荐这样做)。现在您可以调用 Java 中的方法,例如 embed()

我也认为编写 JS 包装器没有任何问题,因此屏幕截图在您的场景中成为单行。