【问题标题】:Attaching screenshots to json report将屏幕截图附加到 json 报告
【发布时间】:2019-08-16 03:11:51
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: karate


    【解决方案1】:

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

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

    【讨论】:

    • 彼得,还有一个与该主题相关的问题。是否有可能一次附加多个屏幕截图并将它们全部显示在报告中的空手道步骤下方?我已按照您的建议进行操作,但当我尝试附加多个屏幕时,只有最后一个屏幕在报告中可见。我想这是因为空手道商店将附件作为对象而不是对象列表嵌入。
    • @Adam 是的,这是空手道的当前限制:github.com/intuit/karate/issues/828 作为一种解决方法,您可以自己使用 html 和内联图像
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多