机器人框架从 JSON 列表中获取
Robot framework get from JSON list
我有这样的数据
{"_embedded":[
{"attr_name":"attr_value_1"},
{"attr_name":"attr_name_2"}
]
}
我想获取第一个属性attr_value_1
。
您知道在 Robot 框架中执行此操作的任何好方法吗?像 Get JSON /_embedded[0]/attr_name
?
这样的东西
您可以将JSON数据转换为python对象,然后使用机器人的extended variable syntax获取元素。在 python 中,值被引用为 data["_embedded"][0]["attr_name"]
,它直接转换为 ${data["_embedded"][0]["attr_name"]}
的机器人扩展变量语法
这是一个完整的例子:
*** Test Cases ***
Example
${json}= catenate SEPARATOR=\n
... {"_embedded":[
... {"attr_name":"attr_value_1"},
... {"attr_name":"attr_name_2"}
... ]
... }
${data}= evaluate json.loads('''${json}''') json
should be equal as strings ${data["_embedded"][0]["attr_name"]} attr_value_1
should be equal as strings ${data["_embedded"][1]["attr_name"]} attr_name_2
我有这样的数据
{"_embedded":[
{"attr_name":"attr_value_1"},
{"attr_name":"attr_name_2"}
]
}
我想获取第一个属性attr_value_1
。
您知道在 Robot 框架中执行此操作的任何好方法吗?像 Get JSON /_embedded[0]/attr_name
?
您可以将JSON数据转换为python对象,然后使用机器人的extended variable syntax获取元素。在 python 中,值被引用为 data["_embedded"][0]["attr_name"]
,它直接转换为 ${data["_embedded"][0]["attr_name"]}
这是一个完整的例子:
*** Test Cases ***
Example
${json}= catenate SEPARATOR=\n
... {"_embedded":[
... {"attr_name":"attr_value_1"},
... {"attr_name":"attr_name_2"}
... ]
... }
${data}= evaluate json.loads('''${json}''') json
should be equal as strings ${data["_embedded"][0]["attr_name"]} attr_value_1
should be equal as strings ${data["_embedded"][1]["attr_name"]} attr_name_2