我想获取项目a的值
结构类似于
${dict1} Create Dictionary a=1 b=2
${dict2} Create Dictionary x=1 y=2
${list1} Create List ${dict1} ${dict2}
${master_dict} Create Dictionary payload=${list1}
现在我知道,我可以使用下面的逻辑来间接访问项目
${dict} Get From List &{master_dict}[payload] 0
${item} Set Variable &{dict}[a]
但我想知道,有没有直接的方法可以访问它。我已经尝试过了
${item} Set Variable &{master_dict.payload[0]}[a]
和
${item} Set Variable @{master_dict.payload[0]}[a]
最佳答案
使用机器人时extended variable syntax你必须记住,你提供的必须是有效的 python。在您的情况下,这意味着 payload
需要是 "payload"
,并且 a
需要是 "a"
(或等效的单引号)。
如果您在 python 代码中执行此操作,它将如下所示:
item = master_dict['payload'][0]['a']
因此,从机器人内部来看,花括号内的所有内容都需要看起来相同。例如:
${item}= set variable ${master_dict['payload'][0]['a']}
您还可以将值视为字典,并将最后一部分移到大括号之外,在这种情况下,您只需要在大括号内添加引号。
${item}= set variable &{master_dict['payload'][0]}[a]
关于python - 无法访问列表内的字典,该列表又位于机器人框架的字典内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44783991/