【问题标题】:Is karate-configure.js processed each time a request is made? [duplicate]每次发出请求时都会处理 karate-configure.js 吗? [复制]
【发布时间】:2021-09-22 15:27:06
【问题描述】:

我了解 karate-configure.js 会针对每个场景或场景大纲下的每个示例进行处理。 然而,我发现了一件有趣的事情。在我的 karate-configure.js 中,我正在生成 UUID

这个 traceId 正在后台检索并设置在功能文件下。

我有一个场景,我发送两个请求,一个用于发布,然后是删除。我意识到虽然第一个请求采用背景中设置的标头,但第二个请求没有。 所以我在发送第二个请求之前为标题添加了一行:

令我惊讶的是(尽管这是可取的),我发现第二个请求中的 traceId 与前一个请求中使用的不一样。这是否意味着在发送第二个请求之前处理了 karate-configure.js,即使两者都是一个场景的一部分。

【问题讨论】:

    标签: java karate cucumber-jvm


    【解决方案1】:

    我很确定你有一个configure headers 例程在起作用,否则这不应该发生。当然,如果不查看所有代码,就无法判断。

    因此,如果您认为自己在空手道中发现了错误,请按照以下流程操作:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

    【讨论】:

    • 我使用的是旧版本 0.9.6。需要检查新版本是否也是这种情况。我不确定“配置标题”与设置“标题”有何不同,而且我没有使用过“配置标题”。是的,使用 'configure headers' ,你可以结合 read() ,对吧?尽管如此,我的问题是,每次都有不同的 traceId,我在 karate-configure.js 中设置 'config.traceId' 的行需要再次运行。而且我相信它正在再次处理 karate-configure.js 文件。发布请求中设置为标头的“traceId”与删除请求中设置的标头不同。
    • @pragun 我的回答是“它对我有用”:) 你的举动。
    猜你喜欢
    • 2011-09-05
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2017-02-25
    • 2015-06-10
    • 2023-03-12
    相关资源
    最近更新 更多