3.1. 通过变量文件创建变量
变量文件是创建不同类型变量的最强大机制。可以使用它们为任何对象分配变量,并且还可以动态创建变量。具体变量文件语法和使用变量文件后面单独讲解。
3.2. 通过命令行方式创建变量
可以从命令行使用--variable
(-v)选项单独设置变量,也可以使用带有--variablefile
(-V)选项的变量文件设置变量 。从命令行设置的变量全局可用于所有已执行的测试数据文件,并且它们还会覆盖变量表和测试数据中导入的变量文件中具有相同名称的可能变量。
设置单个变量的语法是:--variable name:value
,其中name是变量名,value是变量的值。可以采用此语法设置多个变量,但是此语法只能设置scalar变量,只能获取字符串。许多字符不能在命令行中表示,需要使用—escape进行转义。
示例:
--variable EXAMPLE:value
--variable HOST:localhost:7272 --variable USER:robot
--variable ESCAPED:Qquotes_and_spacesQ --escape quot:Q --escape space:_
上面示例中,设置变量后可以通过下面scalar变量来获取设置的值:
${EXAMPLE}
可以得到“value”的值;
${HOST}
和${USER}
可以得到“localshot:7272”和“robot”的值。
${ESCAPED}
可以得到“quotes and spaces”的值。
从命令行获取变量文件中变量的基本语法是:
--variablefile path / to / variables.py
,将变量文件转换为可使用变量,参见后面变量文件的解读。实际创建的变量取决于引用变量文件中的变量。
如果从命令行给出变量文件和单个变量,则后者具有更高的优先级。
3.3. 通过关键字返回值赋值给变量
通过关键字的返回值是可以赋值给变量的,允许甚至在不同的测试库中不同关键字的通信。基本上以这种方式设置的变量只能在创建他们的局部范围可用。就是说在一个用例中设置这样的变量并在另一个测试用例中使用它是不可能的。(这是因为robot framework自动化测试用例不应相互依赖,并且设置在其他地方的变量可能会导致调试的错误。如果真的需要一个测试用例中设置变量并在另一个测试用例中使用它,可以使用BuiltIn里的关键字)
3.3.1. 赋值给Scalar变量
关键字返回的任何值都可以分配给标量变量。如下面的示例所示,所需的语法非常简单:
*** Test Cases ***
Returning
${x} = Get X an argument
Log We got ${x}!
Get X关键字获取的值会先赋给变量${x},然后由Log关键字打印。这样创建的局部变量在测试用例和用户关键字级别都有效。
如果关键字返回值具有类似List变量的值,也可以当做List变量;如果具有类似Dictionary的值,也可以当做Dictionary变量。
示例:
*** Test Cases ***
Example
${list} = Create List first second third
Length Should Be ${list} 3
Log Many @{list}
RIDE示例: