1

在我的功能中,我有:

* 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?我需要以字符串格式测试这个 id。谢谢

4

2 回答 2

3

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

 Examples:
| request_body |
| {username: '#(email)', password: '#(password)'} |
于 2018-04-25T13:36:08.457 回答
1

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

如果您真的想循环使用具有不同值的功能,请再次参考上面的文档,如果您环顾四周,这里有很多示例。查看所有以call-这里开头的:https ://github.com/intuit/karate/tree/master/karate-demo

于 2017-10-10T03:05:38.073 回答