Robot Framework + Selenium 怎么选择下来框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Robot Framework + Selenium 怎么选择下来框相关的知识,希望对你有一定的参考价值。

参考技术A Selenium封装Select类专门处理拉框定义通标通文本通值等选择相于项

Robot Framework:从 Python 库代码中访问 Robot 的全局变量?

【中文标题】Robot Framework:从 Python 库代码中访问 Robot 的全局变量?【英文标题】:Robot Framework: access Robot's global variables from Python library code? 【发布时间】: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

【问题讨论】:

【参考方案1】:

您将需要使用 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")

【讨论】:

我想知道这段代码 sn-p 是否可以在没有 pybot 的情况下独立运行。假设它位于名为 result.py 的 python 文件中。我们用“python result.py”运行这个python文件。解释器会报错“raise RobotNotRunningError('Cannot access execution context')”。我想知道如何像这段代码一样进行单元测试?

以上是关于Robot Framework + Selenium 怎么选择下来框的主要内容,如果未能解决你的问题,请参考以下文章

Robot Framework - 从带有参数的其他 *.robot 脚本调用 *.robot 脚本

Robot Framework重点

用Python写Robot Framework测试

mac环境下搭建Robot framework

robot framework数据库操作

Python3 Robot Framework测试框架