【发布时间】:2013-01-01 12:48:18
【问题描述】:
我希望能够从 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
【问题讨论】:
标签: python robotframework