9

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

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

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

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

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

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

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

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

请协助

4

2 回答 2

11

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

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

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

Create dictionary | ${my_dict} | a | b

添加到字典:

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

并从字典中检索:

${my_dict["a"]}

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

${my_dict.get('non-key','default value')}
于 2013-10-07T12:36:39.513 回答
3

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

${scalar}= | RFKeyword | "Yowp"
Set To Dictionary  | ${dict}  |  KEY    | ${scalar}
于 2012-09-04T13:54:23.220 回答