我正在尝试使用json开发一个测试自动化框架来描述数据。 我有一个json文件,如下所示:
{
"preparation":{
"configuration":[
{
"config1":{
"src_configfile":"/home/xxx/etc/src_config1.cfg",
"dest_configfile":"/home/xxx/etc/abc.cfg"
}
},
{
"config2":{
"src_configfile":"/home/xxx/etc/src_config2.cfg",
"dest_configfile":"/home/xxx/etc/xyz.cfg"
}
}
],
"executable_info1":[
{
"login_info":{
"hostname":"abc.dw",
"username":"xyz",
"password":"*******"
}
},
{
"command":{
"folderpath":"/home/xxx/yyy/bin",
"processname":"sys.exe",
"parameters":"-d"
}
}
],
},
"execution":[
{
"test_case1":{
"folderpath":"/home/xxx/testscripts",
"scriptname":"test_case1.py",
***???????????Can I access the config1 object here????????????
"config_file"="preparation.configuration[0].config1.dest_configfile"***
}
},
{
"test_case1":{
"folderpath":"/home/xxx/testscripts",
"scriptname":"test_case2.py",
***"config_file"="preparation.configuration[1].config2.dest_configfile"***
}
}
]
}
我需要为不同的测试用例使用不同的配置文件。我可以在执行中引用准备对象的config1对象吗???
答案 0 :(得分:1)
不,你不能这样做,至少不是直接的。首先,JSON不支持循环引用。
您可以考虑使用诸如jsonpath之类的库来允许您按模式引用元素,但无论值是实际值还是对其他分支的引用,您都倾向于需要先验。