如何在空手道API测试的Get URL中应用ID作为参数,一次获取一个动态ID列表 [英] How to fetch the list of dynamic ID one at a time by applying ID as a parameter in GET URL of API testing using karate

查看:12
本文介绍了如何在空手道API测试的Get URL中应用ID作为参数,一次获取一个动态ID列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试按应用程序ID作为GET URL中的参数一次获取一个动态ID列表

示例:下面的响应用于POST调用 {";car";:1, 内容:[{ &Quot;类型:&Q;A&Q; ID&Q;:&Q;1&Q; }, { &Quot;类型:&Q;B&Q; ID&Q;:&Q;2&Q; } ]}

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

  • def ID=karate.jsonPath(响应,‘$.content[*].id’) 给定的url‘https://localhost:8080’ 和路径‘/’+id+‘/id 当方法获取 然后是状态200
在GET RESPONSE中,我得到的是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

这篇关于如何在空手道API测试的Get URL中应用ID作为参数,一次获取一个动态ID列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆