6

Robot Framework ユーザー ガイドには、変数ファイルを渡す方法と、必要に応じていくつかの変数を渡す方法について説明するセクションがあります。
例:
pybot --variablefile taking_arguments.py:arg1:arg2

私の質問は、これらの可能な変数 arg1 と arg2 を、後で taking_arguments.py ファイルで使用できますか?

今私はこれを持っています:

pybot --variablefile taking_arguments.py:arg1:arg2

taking_arguments.py の内容:

IP_PREFIX = arg1

しかし、それは結果として

NameError: name 'arg1' is not defined

4

2 に答える 2

6

--variablefile filename.py:arg1:arg2構文を使用して引数ファイルで変数を使用する唯一の方法は、変数ファイルに関数を実装させることget_variablesです。この関数には、コマンド ラインで指定した引数が渡され、変数名と値の辞書を返す必要があります。

たとえば、「variables.py」という名前の次の変数ファイルについて考えてみます。

def get_variables(arg1, arg2):
    variables = {"argument 1": arg1,
                 "argument 2": arg2,
                }
    return variables

${argument 1}このファイルは、とという名前の 2 つのロボット変数を作成します${argument 2}。これらの変数の値は、渡された引数の値になります。この変数ファイルは次のように使用できます。

pybot --variablefile variables.py:one:two ...

この場合、文字列「one」と「two」がget_variables2 つの引数として渡されます。これらは 2 つの変数に関連付けられ、${argument 1}に設定されone${argument 2}に設定されtwoます。

于 2013-05-15T16:56:51.370 に答える
2

変数ファイルの変数に初期値を渡そうとしたことはありません...だから、これが可能かどうかはわかりません...

私は代替案を提供することができます...

pybot コマンドで値を使用していくつかの変数を手動で定義できます...

pybot -variablefile taking_arguments.py -v IP_PREFIX:arg1 -v Varibale:Value 

私が間違っていなければ、これらの手動で開始された変数は、変数ファイル内の変数よりも優先度が高くなります。そのため、変数ファイルで開始された場合でも、-v オプションで渡された値がテストケースで使用されます。

これがあなたを助けることを願っています!

于 2013-05-15T11:18:37.140 に答える