官方文档中给出三种类型:标量,列表和字典。
- 标量为最常用的类型,标量在大部分情况下是字符串形式,在使用时将变量名替换为其值。
- 列表变量,列表中的元素可以为任何类型,列表的访问从0开始。
- 字典,同列表一样,字典的值和键可以为任何元素,字典是无序的,通过键值进行访问。
- 环境变量,robot framework可以直接访问系统的环境变量。
- - 操作系统变量
变量 | 描述 |
${CURDIR} | 当前测试文件的绝对路径,大小写敏感 |
${TEMPDIR} | 临时文件的绝对路径,linux系统上为/tmp,windows上是c:\Documents and Settings<user>\Local Settings\Temp |
${EXECDIR} | 开始执行测试时所在文件夹的绝对路径 |
${/} | 系统路径分隔符,linux上为/,Windows上为\ |
${:} | 系统路径分隔符,Linux上为:,Windows上为; |
${\n} | 系统文件行分割符,Linux上为\n,Windows上为\r\n |
*** Test Cases ***
Example
Create Binary File ${CURDIR}${/}input.data Some text here${\n}on two lines
Set Environment Variable CLASSPATH ${TEMPDIR}${:}${CURDIR}${/}foo.jar
- - 数字变量
*** Test Cases ***
Example 1A
Connect example.com 80 # Connect gets two strings as arguments
Example 1B
Connect example.com ${80} # Connect gets a string and an integer
Example 2
Do X ${3.14} ${-1e-4} # Do X gets floating point numbers 3.14 and -0.0001
- - 布尔和None/Null变量 > python 中的None和JAVA中的Null都可以作为Robot Framwork的内置变量。
*** Test Cases ***
Boolean
Set Status ${true} # Set Status gets Boolean true as an argument
Create Y something ${false} # Create Y gets a string and Boolean false
None
Do XYZ ${None} # Do XYZ gets Python None as an argument
Null
${ret} = Get Value arg # Checking that Get Value returns Java null
Should Be Equal ${ret} ${null}
- - 空格和空变量
*** Test Cases ***
One space
Should Be Equal ${SPACE} \ \
Four spaces
Should Be Equal ${SPACE * 4} \ \ \ \ \
Ten spaces
Should Be Equal ${SPACE * 10} \ \ \ \ \ \ \ \ \ \ \
Quoted space
Should Be Equal "${SPACE}" " "
Quoted spaces
Should Be Equal "${SPACE * 2}" " \ "
Empty
Should Be Equal ${EMPTY} \
变量 | 描述 | 使用范围 |
${TEST NAME} | 当前测试用例的名称 | 测试用例内 |
@{TEST TAGS} | 当前测试用的Tags | 测试用例内 |
${TEST DOCUMENTATION} | 当前测试用例的文档 | 测试用例内 |
${TEST STATUS} | 当前测试用例的测试结果,PASS或FAIL | Test teardown |
${TEST MESSAGE} | 当前测试用的的测试结果信息 | Test teatdown |
${PREV TEST NAME} | 上一条测试用例的名称,如果没有则值为空 | 任意 |
${PREV TEST STATUS} | 上一条测试用例的结果,如果没有则值为空 | 任意 |
${PREV TEST MESSAGE} | 上一条测试用例的结果信息,如果没有则值为空 | 任意 |
${SUITE NAME} | 当前测试集的全称 | 任意 |
${SUITE SOURCE} | 当前测试集的绝对路径 | 任意 |
${SUITE DOCUMENTATION} | 当前测试集的描述,可以通过Set Suite Documentation 修改 | 任意 |
&{SUITE METADATA} | 当前测试集的METADATA,可以通过Set Suite Metadata修改 | 任意 |
${SUITE STATUS} | 当前测试集的测试状态 | Suite teardown |
${SUITE MESSAGE} | 当前测试集的测试状态信息 | Suite teardown |
${KEYWORD STATUS} | 当前关键字的状态 | Keyword teardown |
${KEYWORD MESSAGE} | 当前关键字的状态信息 | Keyword teardown |
${LOG LEVEL} | 当前的日志级别 | 任意 |
${OUTPUT FILE} | output文件的绝对路径 | 任意 |
${LOG FILE} | log文件的绝对路径,如果没有则为None | 任意 |
${REPORT FILE} | report文件的绝对路径,如果没有则为None | 任意 |
${DEBUG FILE} | debug文件的绝对路径,如果没有则为None | 任意 |
${OUTPUT DIR} | output文件夹的绝对路径 | 任意 |