我想获得项目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]
答案 0 :(得分:2)
使用机器人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]