2012-07-13 62 views
5

我知道我可以用这种格式的$ {dict ['KEY']}从字典对象中访问单个元素。就像这样:如何在Robot Framework中将字典元素的值设置为关键字的结果?

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

而且我可以设置一个普通的旧标这样的:

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

但是,如果我尝试设置一个字典元素这样

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

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

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

协助请

+0

让我激活盟友难倒StackOverflow?我不认为这是可能的。 – 2012-07-16 11:49:35

回答

3

你只需要重新安排你调用它的方式。因此,对于你的关键字,你想返回的数据进入你的字典,你需要做到以下几点:

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

但我根本不需要标量。我想让关键字的结果直接进入字典。 – 2012-09-05 14:36:45

6

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

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

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

Create dictionary | ${my_dict} | a | b 

添加到使用词典:

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

和检索字典有:

${my_dict["a"]} 

或者,如果你需要不失信

${my_dict.get('non-key','default value')} 
相关问题