0

名前付き変数のセットをキーワードに渡したい: 次のように:

|  | 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')

名前付き引数を渡すにはどうすればよいですか?

4

1 に答える 1

2

私の知る限り、これはキーワードからできることではありません。この柔軟な何かが必要な場合、私の解決策は次のようになります。

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
于 2013-03-14T08:09:07.780 に答える