如何在Robot Framework中将字典元素的值设置为关键字的结果?

时间:2012-07-13 17:05:07

标签: robotframework

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

|   | Log | ${dict['KEY']} |

我可以像这样设置一个常规的旧标量:

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

但是如果我尝试设置像这样的字典元素

|   | ${dict['KEY']}= | RFKeyword | "Yowp"

我在变量中得到“RFKeyword”,“Yowp”,而不是像处理“Yowp”时那样RFKeyword产生的结果

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

请帮助

2 个答案:

答案 0 :(得分:7)

正如您可能已经想到的那样,您无法从关键字分配到字典。您需要非常具体地遵循字典语法。您只能将变量返回到列表或标量。

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

我添加了这个,因为谷歌搜索“机器人框架词典”在列表中有这个问题。 只需创建字典:

Create dictionary | ${my_dict} | a | b

添加到词典:

set to dictionary | ${my_dict} | c | d

从字典中检索:

${my_dict["a"]}

或者,如果你不需要失败:

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

答案 1 :(得分:3)

您只需要重新排列调用它的方式。因此,对于您希望返回的数据进入字典的关键字,您需要执行以下操作:

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