我想通过空手道来模拟一个端到端的测试结构,在其中执行以下操作:
def
变量这是我到目前为止所拥有的:
Scenario: Search for asset
Given url "https://foo.bar.buzz"
When method get
Then status 200
* def responseItem = $.items[0].id // variable initialized from the response
Scenario: Modify asset found
Given url "https://foo.bar.buzz/" + responseItem
// making request payload
When method put.....
我尝试阅读文档以重用信息,但这似乎是为了进行更深入的测试。
有想法吗?
答案 0 :(得分:1)
强烈建议将这样的流建模为一种情况。请参阅文档:https://github.com/intuit/karate#script-structure
在后台使用def设置的变量将在每次 场景。如果您正在寻找一种方法,每次只能做一次 功能,看看callonce。另一方面,如果您是 期望后台中的变量被一种情况修改 这样以后的人才能看到更新后的值-这不是您的方式 应该考虑它们,并且应该将“流”合并为一个 场景。请记住,您应该可以注释掉 场景或跳过某些通过标记而不影响其他标记。注意 并行运行程序将并行运行Scenario-s,这意味着它们 可以按任何顺序运行。
也就是说,您可能正在寻找Background
或钩子:https://github.com/intuit/karate#hooks