每当我们学习一门新的语言,变量都是最先需要了解的,Robot Framework 也是如此,下面就介绍一下 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
*** 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 文件夹的绝对路径 任意

变量的优先级

内置变量-->>测试中定义-->>命令行中定义-->>变量表格-->>资源文件


↙↙↙阅读原文可查看相关链接,并与作者交流