【问题标题】:path variable initialized in the background gets reset for some scenarios [duplicate]在某些情况下,在后台初始化的路径变量会被重置 [重复]
【发布时间】:2020-04-28 21:09:11
【问题描述】:

我们有一个主要功能文件,其中包含大约 80 个混合测试 POST 和 GET 请求的场景,其中一些称为辅助功能文件,从不同的 REST 端点获取数据。在主要功能文件中,我们有设置路径变量的背景部分。我注意到这个路径变量在某些情况下会被重置(只是空的)。我不确定是什么原因造成的,但它们的一个共同点是它们都是 POST 请求。为了解决这个问题,我正在这样做:

Given path 'part1/version/part2/' + ENCRYPT('123')

即使我在后台部分有以下行

* path 'part1/version/part2/'

我很好奇是什么导致空手道重置路径变量。

【问题讨论】:

    标签: karate


    【解决方案1】:

    是的,这是设计使然。在 HTTP 请求之后,path 总是被清除。这是为了更容易处理 REST-ful URL-s。事实上,"hello world" example 本身就利用了这一点。

    如果您希望重置 URL,请将其包含在 url 中。

    * url myBaseUrl + '/part1/version/part2'
    

    在文档中描述:https://github.com/intuit/karate#path

    【讨论】:

    • Background 部分中的变量不应该为每个场景重新初始化吗?这就是它在文档的脚本结构部分中所说的 - github.com/intuit/karate。事实上,我已经在背景范围内使用特定值初始化路径变量,我希望它在每个场景中都使用该值重新初始化。
    • @KMC path 不是变量
    • 不管变量与否,你是说路径初始化行在所有场景中只调用一次吗?
    • @KMC 我要说的是Background 在任何Scenario 之前运行,path 将修改之前的任何url。现在看看你的功能。如果你仍然卡住,可能有一个错误 :) 所以请遵循这个过程:github.com/intuit/karate/wiki/How-to-Submit-an-Issue
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多