Python コードからアクセスできるようにしたい設定タイプのグローバル変数がいくつかあります。例えば:
pybot --variable RESULTS_PATH:/wherever/this/points test.txt
ここで、私のモジュールlogger.py
ファイルは、適切に設定するために results_path を知る必要があります。
次のような変数でロガーを初期化できることを知っています
***Settings***
Library logger ${RESULTS_PATH}
そして、ロガーで results_path が渡されます:
def __init__(self, results_path):
# Whatever
しかし、私にとってこのようにすることの問題は、Pythonコードとテストケースの両方からロガーにアクセスして使用したいということです。したがって、このように設定すると、Python コードからロガーを使用したい場合、ロガーを適切に初期化するために results_path が必要になるという同じ問題に遭遇します。
ロボット フレームワーク ライブラリに、Python コードから ${RESULTS_PATH} の値を取得できる関数はありますか? このようなことを行う適切な方法は何ですか?
現在、この問題の回避策は、RESULTS_PATH を環境変数として設定することです。だから私は次のようなものを持っています:
次のように実行します。
RESULTS_PATH=/wherever/this/points pybot test.txt
ファイルtest.txt
:
***Settings***
Library logger
...
ファイルlogger.py
:
results_path = os.environ["RESULTS_PATH"]
# Other set up stuff