【发布时间】:2020-11-18 05:13:54
【问题描述】:
我有一个用例,我想对 API 响应进行断言并将其与 csv 数据进行比较。
第一步:
Csv file: *test.csv*
id,date,fullname,cost,country,code
1,02-03-2002,user1,$200,Canada,CAN
2, 04-05-2016,user2,$1500,United States, USA
我读取了 csv 文件并将其存储在一个变量中
- def var1 = 读取(test.csv)
所以现在,var1 是基于我的 csv 的 json 列表
var1 = [
{
"id":1,
"date":"02-03-2002",
"fullname": "user1",
"cost": "$200",
"country": "Canada",
"code": "CAN"
},
{
"id":2,
"date":"04-05-2016",
"fullname": "user2",
"cost": "$1500",
"country": "United States",
"code": "USA"
}
]
第二步: 我点击了我的 api 并得到了响应
Given url "https://dummyurl.com
Given path "/userdetails"
When method get
Then status 200
* def apiResponse = response
第 3 步: 我的 api 返回一个列表响应:
{
"id":1,
"date":"02-03-2002",
"fullname": "user1",
"cost": "$200",
"country": {
"name": "Canada",
"code": "CAN"
}
},
{
"id":2,
"date":"05-04-2012",
"fullname": "user2",
"cost": "$1500",
"country": {
"name": "United States",
"code": "USA"
}
},
...and more 100 records..
]
第 4 步: 所以现在我想要执行两个断言
-
获取 csvresponse 和 apiresponse 的计数并比较我使用 .length 运算符
-
其次,我想确认每个 csv 记录是否与每个 api 响应匹配。 如果可能的话,来自csv的 id 键和 apiresponse 是主键,所以如果我可以迭代 id 并匹配任何差异的 api 响应。
让我知道这是否适合您阅读,以及我是否能够解释我的用例。 感谢您之前的回复。
【问题讨论】:
标签: karate