如何在空手道API测试的GET URL中应用ID作为参数,一次获取一个动态ID列表



我试图通过应用程序id作为GET URL中的参数一次获取动态id的列表

示例:下面的响应是POST调用{"Car" 1,内容:[{"type":";A"Id":"1";},{"type":";B"Id":"2";}]}

现在对于上面的POST响应,我试图在GET URL中使用动态Id作为参数来获取数据例:

  • def =空手道。jsonPath(回应,"美元.content [*] .id")给定URL 'https://localhost:8080'路径'/'+ID+'/ID当方法GET状态为200

在GET响应中,我正在获取Id的列表,而不是URL中的单个Id,如下所示输出如下:http://localhost:8080/1,2/id

作为Id是动态生成的,所以不是手动调用一个接一个的Id,我想使用参数调用
可以有人建议我如何使用GET URL一次获取一个Id吗?

试试这个例子,观察输出,然后试着理解它是如何工作的:

* def response = {"Car": 1, content:[{ "type" : "A", "Id" : "1" }, { "type" : "B", "Id" : "2" } ]}
* def ids = $response.content[*].Id
* match ids == ['1', '2']
* def data = karate.mapWithKey(ids, 'id')
* call read('called.feature') data

called.feature是这样的:

@ignore
Feature:
Scenario:
* url 'https://httpbin.org/anything'
* param id = id
* method get

请尝试阅读文档,这是值得的:https://github.com/karatelabs/karate#json-transforms

最新更新