Robotframework 如何在Robot框架中将dictionary元素的值设置为关键字的结果?

Robotframework 如何在Robot框架中将dictionary元素的值设置为关键字的结果?,robotframework,Robotframework,我知道我可以使用${dict['KEY']}格式从dictionary对象访问单个元素。像这样: | | Log | ${dict['KEY']} | 我可以这样设置一个常规的旧标量: | | ${scalar}= | RFKeyword | "Yowp" 但是如果我尝试设置这样的dictionary元素 | | ${dict['KEY']}= | RFKeyword | "Yowp" 我在变量中得到“RFKeyword”、“Yowp”,而不是像我这样处理“Yowp”时RFKe

我知道我可以使用${dict['KEY']}格式从dictionary对象访问单个元素。像这样:

|   | Log | ${dict['KEY']} |
我可以这样设置一个常规的旧标量:

|   | ${scalar}= | RFKeyword | "Yowp"
但是如果我尝试设置这样的dictionary元素

|   | ${dict['KEY']}= | RFKeyword | "Yowp"
我在变量中得到“RFKeyword”、“Yowp”,而不是像我这样处理“Yowp”时RFKeyword产生的结果

|   | ${scalar}= | RFKeyword | "Yowp"

请提供帮助

您只需重新安排您的呼叫方式即可。因此,对于希望返回数据进入词典的关键字,您需要执行以下操作:

${scalar}= | RFKeyword | "Yowp"
Set To Dictionary  | ${dict}  |  KEY    | ${scalar}

正如您可能已经了解到的,您不能从关键字分配给字典。您需要非常明确地遵循字典语法。只能将变量返回到列表或标量

Robot框架不是一种成熟的编程语言,也不应该是。通过使用中间标量,非技术测试人员应该能够更好地理解它在做什么

我之所以添加这个问题,是因为在谷歌搜索“机器人框架词典”时,这个问题排在了最前面。 只需使用以下工具创建字典:

Create dictionary | ${my_dict} | a | b
set to dictionary | ${my_dict} | c | d
${my_dict["a"]}
将以下内容添加到词典:

Create dictionary | ${my_dict} | a | b
set to dictionary | ${my_dict} | c | d
${my_dict["a"]}
并使用以下内容从字典中检索:

Create dictionary | ${my_dict} | a | b
set to dictionary | ${my_dict} | c | d
${my_dict["a"]}
或者,如果您需要不失败:

${my_dict.get('non-key','default value')}

但我根本不想要标量。我希望关键字的结果直接进入字典。