gpt4 book ai didi

python - 机器人框架 : access Robot's global variables from Python library code?

转载 作者:太空狗 更新时间:2023-10-29 17:17:02 24 4
gpt4 key购买 nike

我有一些设置类型的全局变量,我希望能够从 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

最佳答案

您需要使用 rf 的 BuiltIn 库,for reference read the documentation as found here .这提供了内置于 Robot Framework 中的关键字,因此应该可靠地保持可用:

from robot.libraries.BuiltIn import BuiltIn
results_path = BuiltIn().get_variable_value("${RESULTS_PATH}")

关于python - 机器人框架 : access Robot's global variables from Python library code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14388253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com