我想将一组命名变量传递给关键字: 像这样:
| | Bypass | environment=${SystemUnderTest} | device=android |
关键字在python中定义如下:
def Bypass(**kwargs):
print "kwargs", kwargs
此操作失败并显示以下错误消息:
关键字'agents.Bypass'预期0个参数,得到......
但如果我稍微改变关键字定义,就像这样
def Bypass(*args):
print "args", args
测试工作正常,我在日志中得到了这个:
INFO args(u'environment = staging',u'device = android')
如何传递我的命名参数?
答案 0 :(得分:2)
Afaik这不是你可以通过关键词做的事情。如果我需要这些灵活的解决方案就是这样:
def bypass(kwargs):
print "kwargs", kwargs
| | ${kwargs}= | Evaluate | dict(environment=${SystemUnderTest}, device=android)
| | Bypass | ${kwargs}
或者
def bypass(*args):
kwargs = {}
while args:
kwargs[args.pop(-2)] = args.pop()
print "kwargs", kwargs
| | Bypass | environment | ${SystemUnderTest} | device | android