在大纲场景的情况下检索变量

retrieve a variable in the case of an outline scenario

我想恢复我在功能 A

中通过简单 Post 请求传递的对象 ID (processId)
Given url <url>
    And path 'processes'
    And header Authorization = 'Bearer ' + <token>
    And request process
    When method post
    Then status 201

    * def processId = response.id

我在场景大纲(变量 <url>)中使用 3 个不同的环境测试此请求。所以我必须恢复 3 id 才能在功能 B

中使用它们

我的问题是:如何检索这些 ID 以用于功能 B

谢谢

你不可能 re-use 从一个 Scenario 到另一个 Scenario 的数据, Feature 肯定是不可能的。请花一些时间阅读此内容:

就是说,如果您需要做的只是在循环中调用 Scenario,那么就这样做吧。这是一个您可以尝试的简单示例:

Feature:

Scenario:
* table data
| value |
| 'one' |
| 'two' |
* def result = call read('called.feature') data
* def traceIds = $result[*].traceId
* print traceIds

called.feature 就是:

@ignore
Feature:

Scenario:
* url 'https://httpbin.org/post'
* request { key: '#(value)' }
* method post
* def traceId = response.headers['X-Amzn-Trace-Id']

请阅读文档以了解如何从“被调用”功能“收集”数据,traceId 在这种情况下:https://github.com/karatelabs/karate#data-driven-features