如何在场景大纲示例(空手道框架)中赋值?

How to put a value in Scenario Outline Examples (karate framework)?

在我的功能中我有:

* def loc = responseHeaders['location'][10]
* def id = loc.substring(loc.lastIndexOf('/') + 1)

我想在场景大纲示例中使用 id:

Scenario Outline: fkdfslqknfd
    Given url 'foo.com'
    And path <bar>
    When method get
    ......    
        Examples:
          |bar |
          |(id)|
          |"id"|
          |'id'|
          |id  |> The last example is ok.

但是我收到的不是 'foo.com/13'(假设 id 是 13),而是 'foo.com/id'。我试过#,但它不起作用。我如何替换此 ID?我需要测试这个以 String 格式放置的 id。谢谢

这是 Cucumber 的一个已知限制,即 Examples 不能是动态的。请参阅文档的最后一段:https://github.com/intuit/karate#the-karate-way

如果您真的想遍历具有不同值的特征,请再次参考上面的文档,如果您环顾四周,会有很多示例。在此处查看所有以 call- 开头的:https://github.com/intuit/karate/tree/master/karate-demo

至少在 JSON 参数内,它对我有用

 Examples:
| request_body |
| {username: '#(email)', password: '#(password)'} |