假设我有一个带有一些参数的用户定义的关键字:
*** Keywords ***
Add
[Arguments] ${foo} ${bar}=${42}
[return] ${${foo} + ${bar}}
在python上下文中没有,我有一个参数字典,并希望用它来调用关键字:
from robot.libraries.BuiltIn import BuiltIn
def foo():
args = {'foo' : 0}
BuiltIn.run_keyword("Add", args) # does not work, of course
此方法失败,因为机器人将参数作为列表(正确命名或排序)。我不能简单地将所有参数作为列表传递给这里,因为机器人不会忽略未在关键字中声明的参数。
我需要做的是
使用python API可以实现吗?
答案 0 :(得分:0)
您希望unpacking *
用于列表,**
用于dicts:
def my_func(a, b, c='c', d='d'):
print(a, b, c, d)
my_func('a', 'b')
>> a b c d
my_list = ['A', 'B']
my_dict = {'c': 'C', 'd': 'D'}
my_func(*my_list, **my_dict)
>> A B C D