内建变量


内建变量

操作系统变量

  • ${CURDIR} 测试数据文件所在目录的绝对路径。此变量区分大小写。
  • ${TEMPDIR} 系统临时目录的绝对路径。
  • ${EXECDIR} 测试执行开始目录的绝对路径。
  • ${/} 系统目录路径分隔符。/ 在类似UNIX的系统中和 \ 在Windows中。
  • ${:} 系统路径元素分隔符。在类似UNIX的系统中是: 在Windows中是;
  • ${\n} 系统行分隔符。在类似UNIX的系统中为 \n,在Windows中为\r \n

数字变量

变量语法可用于创建整数和浮点数,如下例所示。当关键字希望获得实际数字而不是看起来像数字的 字符串 作为参数时,这很有用。

*** 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

也可以分别使用0b0o0x前缀表示二进制,八进制和十六进制值创建整数。语法不区分大小写。

*** Test Cases ***
Example
    Should Be Equal    ${0b1011}    ${11}
    Should Be Equal    ${0o10}      ${8}
    Should Be Equal    ${0xff}      ${255}
    Should Be Equal    ${0B1010}    ${0XA}

布尔和None/null 变量

同样,可以使用变量语法(类似于数字)创建布尔值,Python None和Java null。

*** 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}

这些变量不区分大小写,因此例如${True}${true}是等效的。此外,${None}${null}是一样。

空格和空变量

可以分别使用变量${SPACE}${EMPTY}创建 空格空字符串

这些变量很有用,例如,当否则需要使用反斜杠转义空格或空单元格时。

如果需要多个空格,则可以使用扩展变量语法,例如${SPACE*5}

在下面的示例中,Should Be Equal关键字将获得相同的参数,但是使用变量比使用反斜杠的更容易理解。

*** 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}    包含按字母顺序排列的当前测试用例的标签。
${TEST DOCUMENTATION}   当前测试用例的文档。
${TEST STATUS}  当前测试用例的状态,通过或失败。
${TEST MESSAGE} 当前测试用例的消息。
${PREV TEST NAME}   先前测试用例的名称,如果尚未执行任何测试,则为空字符串。
${PREV TEST STATUS} 先前测试用例的状态:PASS,FAIL或未执行任何测试时为空字符串。
${PREV TEST MESSAGE} 先前测试用例的可能错误消息。
${SUITE NAME} 当前测试套件的全名。
${SUITE SOURCE} 套件文件或目录的绝对路径。
${SUITE DOCUMENTATION}  当前测试套件的文档。可以使用Set Suite Documentation关键字动态设置。
&{SUITE METADATA}   当前测试套件的免费元数据。可以使用Set Suite Metadata关键字进行设置。
${SUITE STATUS} 当前测试套件的状态,通过或失败。
${SUITE MESSAGE}    当前关键字的可能错误消息。
${KEYWORD STATUS}   当前测试套件的状态,通过或失败。
${KEYWORD MESSAGE} 当前关键字的可能错误消息。
${LOG LEVEL} 当前日志级别。
${OUTPUT FILE} 输出文件的绝对路径。
${LOG FILE} 日志文件的绝对路径.
${REPORT FILE} 报告文件的绝对路径。
${DEBUG FILE}   调试文件的绝对路径。
${OUTPUT DIR} 输出目录的绝对路径。