Karate 如何在运行时在空手道中创建和传递或多或少的json负载
有时我必须通过以下有效载荷Karate 如何在运行时在空手道中创建和传递或多或少的json负载,karate,Karate,有时我必须通过以下有效载荷 { "code": "hhhh", "name": "NDS coupon Testing", "description": "NDS couopn testing via postman", "status": "ACTIVE", "comments": null, "rules": { "AND":[{ "rule":{
{
"code": "hhhh",
"name": "NDS coupon Testing",
"description": "NDS couopn testing via postman",
"status": "ACTIVE",
"comments": null,
"rules": {
"AND":[{
"rule":{
"operator" : "EQ",
"status" : "ACTIVE",
"attribute_name" : "HOTEL_ID",
"attribute_value" : "12744",
"attribute_value_type" : "INTEGER"
}
}]
}
}
有时会跟随有效载荷
{
"code": "hhhh",
"name": "NDS coupon Testing",
"description": "NDS couopn testing via postman",
"status": "ACTIVE",
"comments": null,
"rules": {
"AND":[{
"rule":{
"operator" : "EQ",
"status" : "ACTIVE",
"attribute_name" : "HOTEL_ID",
"attribute_value" : "12744",
"attribute_value_type" : "INTEGER"
}
}
{
"AND" : [{"rule" : {
"status" : "ACTIVE",
"operator" : "EQUALS_LT"
"attribute_name" : "checkout",
"attribute_value" : "2018-12-31T00:00:00-05:30",
"attribute_value_type" : "DATE_TIME"
}
},]
}
}
我的框架结构是
payload.json具有默认负载。现在在我的功能文件中,我加载payload.json设置我想要更新的值,但是如何在运行时添加/删除json的某些部分呢 有多种方法可以做到这一点。为了进一步阅读,我建议以下部分:
* def json =
"""
{
"code": "hhhh",
"name": "NDS coupon Testing",
"description": "NDS couopn testing via postman",
"status": "ACTIVE",
"comments": null,
"rules": {
"AND": [
{
"rule": {
"operator": "EQ",
"status": "ACTIVE",
"attribute_name": "HOTEL_ID",
"attribute_value": "12744",
"attribute_value_type": "INTEGER"
}
},
{
"rule": {
"status": "ACTIVE",
"operator": "EQUALS_LT",
"attribute_name": "checkout",
"attribute_value": "2018-12-31T00:00:00-05:30",
"attribute_value_type": "DATE_TIME"
}
}
]
}
}
"""
* eval if (true) karate.remove('json', '$.rules.AND[1]')
* print json
这很好,因为我有两个规则,如果我有更多的规则块呢added@SourabhChapali阅读我发布的链接。有很多选择。您始终可以将JS函数与一个
开关盒
或多个if-then
语句一起使用。非常感谢