robotframework-获取传递给执行的所有变量/参数

时间:2018-08-20 18:34:04

标签: robotframework

有没有一种方法可以在执行Robotframework期间访问通过命令行或变量文件(-V选项)传递的所有变量/参数。我知道在python中执行程序可以使用“ sys.args”功能对其进行访问。

2 个答案:

答案 0 :(得分:2)

获取CLI参数的答案就在您的问题内-仅查看sys.argv的内容,您将看到传递给执行程序的所有内容:

${args}=        Evaluate    sys.argv        sys
Log To Console      ${args}

这将返回一个列表,其中可执行文件本身(run.py)是第一个成员,并且所有参数及其值按执行期间给出的顺序显示:

['C:/my_directories/rf-venv/Lib/site-packages/robot/run.py', '--outputdir', 'logs', '--variable', 'USE_BROWSERSTACK:true', '--variable', 'IS_DEV_ENVIRONMENT:false', '--include', 'worky', 'suites\\test_file.robot']

您明确提到了变量文件;这有点棘手-框架解析文件本身,并根据其规则创建变量。您自然可以在CLI参数中看到它们,而另一种可能性是使用内置关键字Get Variables,该关键字“ 返回包含当前作用域中所有变量的字典。 ”(引自其文档)。但是请记住,这些都是变量-不仅是在命令行中传递的变量,而且还是在suite / imported关键字等中定义的变量。

答案 1 :(得分:0)

您有Log Variables可以在“当前范围”内查看其名称和值。

不可能看到传递给机器人的参数。