Robotframework 字典作为Robot框架中的变量:代码运行正常,但IDE产生错误
我正试图将字典设置为一个变量(这样我就可以将它用作一个资源并从另一个文件中访问它的值),有些事情让我发疯 以下是我的代码(仅用于测试目的): 如果我运行它,我得到了预期的结果([WARN]value1),但是IDE(PyCharm)抱怨${SOME DICT}变量没有定义,字典声明没有突出显示为变量或列表 如果我将其更改为和{SOME DICT},IDE将不再抱怨,但测试失败,输出如下:Robotframework 字典作为Robot框架中的变量:代码运行正常,但IDE产生错误,robotframework,Robotframework,我正试图将字典设置为一个变量(这样我就可以将它用作一个资源并从另一个文件中访问它的值),有些事情让我发疯 以下是我的代码(仅用于测试目的): 如果我运行它,我得到了预期的结果([WARN]value1),但是IDE(PyCharm)抱怨${SOME DICT}变量没有定义,字典声明没有突出显示为变量或列表 如果我将其更改为和{SOME DICT},IDE将不再抱怨,但测试失败,输出如下: Dict Test
Dict Test | FAIL |
Keyword 'Collections.Get From Dictionary' got positional argument after named arguments.
这让我莫名其妙:为什么我要用$而不是a&如果这是一本字典,我就要用它来工作?是不是我做错了什么,只是运气好
感谢您提供的任何建议或指导 查看“从字典获取”libdoc,看起来示例显示的与您的工作代码段相同:
关键字实现细节如下:
try:
return dictionary[key]
except KeyError:
raise RuntimeError("Dictionary does not contain key '%s'." % key)
所以,实际上,Robot发送的是dict内容的表示,而不是dict名称,所以可以返回键的值。
这与python中的直接调用相同:
a = {u'key1': u'value1', u'key2': u'value2'}
print(a['key1'])
最后,该KW的libdoc并不简单,但在这种情况下,您的PyCharm机器人插件无法正常工作。
在RED Robot Editor(基于Eclipse)中,正确的大小写不会在编辑器中引发任何警告,错误的大小写提供了有关参数的错误标记(更好,但仍然不清楚到底是什么错误。请归咎于简约的libdoc信息)
另外,我是红色项目的负责人
robot框架中使用键值变量的简单示例
将值设置为字典
从字典中获取值
&{initValues}创建字典key1=value1 key2=value2
设置为Dictionary${initValues}key1=newvalue1
设置为Dictionary${initValues}key2=newvalue2
设置为Dictionary${initValues}key3=newvalue3
${value}从字典获取${intialValues}key1
非常感谢您的回复,我真的很感激!我是一个完全的初学者,我真的很想把事情做好,而了解正在发生的事情是非常有帮助的。谢谢
try:
return dictionary[key]
except KeyError:
raise RuntimeError("Dictionary does not contain key '%s'." % key)
a = {u'key1': u'value1', u'key2': u'value2'}
print(a['key1'])