如何遍历空手道中的Json
How to traverse through a Json in Karate
我正在尝试进行空手道测试,我需要遍历 json 以获得所需的测试数据。
我有以下 json.
{
"dev":{
"scenario1":{
"data":"data1"
},
"scenario2":{
"data":"data2"
}
},
"qa":{
"scenario1":{
"data":"data1"
},
"scenario2":{
"data":"data2"
}
}
}
下面是我的功能文件。
Background:
* def env = dev
Scenario:
* Given url someurl
* def inputData = testdata.env.scenario1.data
* And request { input: '#(inputData)'}
* When method post
* Then status 200
我需要与我在上面定义的值 env 相匹配的测试数据。
如何设置输入数据的 json 路径。基本上,json 路径应该从我之前定义的变量中获取值。
为此你甚至不需要 Json-Path,只需 JS 即可:
* def data = { foo: 1, bar: 2 }
* def env = 'bar'
* def res = data[env]
* match res == 2
另见:
你也可以做动态的Json-Path,见:
我正在尝试进行空手道测试,我需要遍历 json 以获得所需的测试数据。
我有以下 json.
{
"dev":{
"scenario1":{
"data":"data1"
},
"scenario2":{
"data":"data2"
}
},
"qa":{
"scenario1":{
"data":"data1"
},
"scenario2":{
"data":"data2"
}
}
}
下面是我的功能文件。
Background:
* def env = dev
Scenario:
* Given url someurl
* def inputData = testdata.env.scenario1.data
* And request { input: '#(inputData)'}
* When method post
* Then status 200
我需要与我在上面定义的值 env 相匹配的测试数据。 如何设置输入数据的 json 路径。基本上,json 路径应该从我之前定义的变量中获取值。
为此你甚至不需要 Json-Path,只需 JS 即可:
* def data = { foo: 1, bar: 2 }
* def env = 'bar'
* def res = data[env]
* match res == 2
另见:
你也可以做动态的Json-Path,见: