如何使用随变量文件传递的额外参数 - 机器人框架

use*_*567 6 python robotframework

在Robot Framework用户指南中,有一节描述了如何传递变量文件以及一些可能的变量(如果需要).
例:
pybot --variablefile taking_arguments.py:arg1:arg2

我的问题是我之后可以在taking_arguments.py文件中使用这些可能的变量arg1和arg2,如果可以,那么如何?

现在我有这个:

pybot --variablefile taking_arguments.py:arg1:arg2

taking_arguments.py内容:

IP_PREFIX = arg1

但结果是

NameError: name 'arg1' is not defined

Bry*_*ley 5

使用--variablefile filename.py:arg1:arg2语法在参数文件中使用变量的唯一方法是让您的变量文件实现该函数get_variables.此函数将传递您在命令行上指定的参数,并且必须返回变量名称和值的字典.

例如,考虑以下名为"variables.py"的变量文件:

def get_variables(arg1, arg2):
    variables = {"argument 1": arg1,
                 "argument 2": arg2,
                }
    return variables
Run Code Online (Sandbox Code Playgroud)

此文件创建两个名为${argument 1}和的机器人变量${argument 2}.这些变量的值将是传入的参数的值.您可以使用此变量文件,如下所示:

pybot --variablefile variables.py:one:two ...
Run Code Online (Sandbox Code Playgroud)

在这种情况下,字符串"one"和"two"将get_variables作为两个参数传递给它们.然后,这些将与两个变量相关联,从而${argument 1}设置为one和${argument 2}设置为two.