Robot Framework 内置变量

转自:https://blog.csdn.net/qq_26886929/article/details/53907755

Robot Framework 内部提供了一下直接可用的内置变量

1. 操作系统相关变量

内置的操作系统相关的变量,减少了测试数据对操作系统之间的差异性的关注

RF 中可用的操作系统相关的内置变量如下表:

变量 用途
${CURDIR} 测试数据文件所在目录的绝对路径,该参数是大小写敏感的
${TEMPDIR} 操作系统临时目录的绝对路径,在类 Unix 系统中,该路径通常是 /tmp;在 Windows 系统中,通常是 c:\Documents and Settings\<user>\Local Settings\Temp
${EXECDIR} 到测试开始执行的目录的绝对路径
${/} 操作系统文件路径分隔符,在类 Unix 系统中为: ‘/’, 在 Windows 中则为: ‘\’
${:} 操作系统路径元素分隔符,在类 Unix 系统中为: ‘:’,在 Windows 中则为: ‘;’
${\n} 操作系统行分隔符,在类 Unix 系统中为: ‘\n’,在 Windows 中则为: ‘\r\n’
  1. *** Test Cases ***

  2.  

    Example

  3.  

    Create Binary File ${CURDIR}${/}input.data Some text here${\n}on two lines

  4.  

    Set Environment Variable CLASSPATH ${TEMPDIR}${:}${CURDIR}${/}foo.jar

2. 数字变量

如下面例子中所示,变量语法能用来创建 整型 和 浮点型 数据。当一个关键字需要 真实的数字而非对应的数字字符串作为参数时,这种创建数字变量的方法是很有用的。

  1. *** Test Cases ***

  2.  

    Example 1A

  3.  

    Connect example.com 80 # Connect 获得两个字符串作为参数

  4.  

    Example 1B

  5.  

    Connect example.com ${80} # Connect 获得一个字符串和一个整数作为参数

  6.  

    Example 2

  7.  

    Do X ${3.14} ${‐1e‐4} # Do X 获得浮点数 3.14 和 ‐0.0001 作为参数

从二进制,八进制和十六进制值来创建整数也是可以的,创建时分别用: 0b, 0o 和 0x 作为相应的前缀,并且这种语法是大小写不敏感的。

  1. *** Test Cases ***

  2.  

    Example

  3.  

    Should Be Equal ${0b1011} ${11}

  4.  

    Should Be Equal ${0o10} ${8}

  5.  

    Should Be Equal ${0xff} ${255}

  6.  

    Should Be Equal ${0B1010} ${0XA}

3. 布尔值和 None/ null变量

布尔值和 Python 的 None,Java 的 null 变量也可以用创建数字变量类似的语法创建:

  1. *** Test Cases ***

  2.  

    Boolean

  3.  

    Set Status ${true} # Set Status 获得布尔值 true 作为参数

  4.  

    Create Y something ${false} # Create Y 获得字符串和布尔值 false 作为参数

  5.  

  6.  

    None

  7.  

    Do XYZ ${None} # Do XYZ 获得 Python None 作为参数

  8.  

  9.  

    Null

  10.  

    ${ret} = Get Value arg # Checking that Get Value returns Java null

  11.  

    Should Be Equal ${ret} ${null}

这些变量也是大小写不敏感的,所以 ${True} 和 ${true} 是一样的。此外 ${None} 和 ${null} 是同义词,因为用 Jython 解释器执行用例时, Jython 会自动将 None 和 null 转换成正确格式。

4.空格和空(empty)变量

可以分别使用 ${SPACE} 和 ${EMPTY} 来创建空格和空字符串变量。这些变量很有用,如果不使用这些变量的话,就需要对空格或空单元格进行转义。如果需要一个以上的空格,也可以使用扩展变量语法来轻易获得,形如: ${SPACE * 5}。下面的例子中,Should Be Equal 关键字得到的参数值是相等的,但很明显使用变量的方式比使用 ‘\‘ 转义的方式更易理解。

  1. *** Test Cases ***

  2.  

    One Space

  3.  

    Should Be Equal ${SPACE} \ \

  4.  

  5.  

    Four Spaces

  6.  

    Should Be Equal ${SPACE * 4} \ \ \ \ \

  7.  

  8.  

    Ten Spaces

  9.  

    Should Be Equal ${SPACE * 10} \ \ \ \ \ \ \ \ \ \ \

  10.  

  11.  

    Quoted Space

  12.  

    Should Be Equal "${SPACE}" " "

  13.  

  14.  

    Quoted Spaces

  15.  

    Should Be Equal "${SPACE * 2}" " \ "

  16.  

  17.  

    Empty

  18.  

    Should Be Equal ${EMPTY} \

还有两个变量 @{EMPTY} 和 &{EMPTY},他们分别表示 ‘空列表’ 和 ‘空字典’ 变量。 这两个变量也是有用的,例如在写测试模板的时候,模板关键字不带参数使用时。

  1. *** Test Cases ***

  2.  

    Template

  3.  

    [Template] Some keyword

  4.  

    @{EMPTY}

  5.  

  6.  

    Override

  7.  

    Set Global Variable @{LIST} @{EMPTY}

  8.  

    Set Suite Variable &{DICT} &{EMPTY}

5. 自动变量

还有一些自动变量可以在测试数据中使用。这些变量在测试过程中可能有不同的取值,其中有一些甚至不是一直可用的。

变量 解释 使用地点
${TEST NAME} 当前测试用例的名称 测试用例中
@{TEST TAGS} 当前测试用例被打上的所有标记,按字母顺序排列。可以使用 Set Tags 和 Remove Tags 关键字动态的修改 测试用例中
${TEST DOCUMENTATION} 当前测试用例的说明文档,可以使用 Set Test Documentation 关键字动态的修改 测试用例中
${TEST STATUS} 当前测试用例的执行状态,PASS 或 FAIL 测试用例 teardown时
${TEST MESSAGE} 当前测试用例的信息 测试用例 teardown时
${PREV TEST NAME} 前一个测试用例的名字,如果还没有测试用例被执行,则该值为空 所有地方
${PREV TEST STATUS} 前一个测试用例的执行状态,PASS/FAIL,如果还没有测试用例被执行,则该值为空 所有地方
${PREV TEST MESSAGE} 前一个测试用例执行所产生的可能的错误信息 所有地方
${SUITE NAME} 当前测试套件的全称 所有地方
${SUITE SOURCE} 当前测试套件文件或目录的绝对路径 所有地方
${SUITE DOCUMENTATION} 当前测试套件的说明文档,可以使用 Set Suite Documentation 关键字动态的改变 所有地方
&{SUITE METADATA} 当前测试套件的元数据 所有地方
${SUITE STATUS} 当前测试套件的执行状态, PASS 或 FAIL 测试套件 teardown
${SUITE MESSAGE} 当前测试套件的全部信息,包括统计 测试套件 teardown
${KEYWORD STATUS} 当前关键的执行状态,PASS 或 FAIL 用户关键字 teardown
${KEYWORD MESSAGE} 当前关键字执行时可能产生的错误信息 用户关键字 teardown
${LOG LEVEL} 当前日志级别 所有地方
${OUTPUT FILE} 到输出文件的绝对路径 所有地方
${LOG FILE} 到日志文件的绝对路径,或者为NONE 当没有创建日志文件时 所有地方
${REPORT FILE} 到测试报告文件的绝对路径,或者为NONE 当没有创建测试报告文件时 所有地方
${DEBUG FILE} 到debug文件的绝对路径,或者为NONE 当没有创建debug文件时 所有地方
${OUTPUT DIR} 到输出目录的绝对路径 所有地方

原文地址:https://www.cnblogs.com/guanjie20/p/10450028.html

时间: 2024-10-11 10:35:20

Robot Framework 内置变量的相关文章

Nginx内置变量以及日志格式变量参数详解

Nginx内置变量以及日志格式变量参数详解 $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html". $d

Linux高级文本处理之gawk内置变量(一)

一.FS –输入字段分隔符 FS是awk内置变量,用来制定行分隔符,功能能-F一样,区别在于FS只能用在BEGIN语句块当中,命令格式如下: BEGIN{FS="SEPARATOR"} 实例1: [[email protected] ~]# awk 'BEGIN { FS=","; print "---------------------------\nName\tTitle\n------------------------"} {print 

17、内置变量、特殊变量、字符操作、声明变量 学习笔记

1.bash的内置变量 $PATH            环境变量路径 $HOSTNAME        系统主机名 $UID             系统当前用户ID $HISTFILE        历史文件存放路径 $HISTSIZE        系统可以保存的历史记录条目数 $HISTFILESIZE    历史文件可以保存的历史记录条目数 $HISTCONTROL     历史命令显示控制 $BASH            bash二进制程序文件的路径 $BASH_SUBSHELL 

shell--特殊位置参数变量及常用内置变量

1.shell中的特殊位置参数变量 $0:获取当前执行的shell脚本的文件名,如果执行脚本包含了路径,那么就包括脚本路径 $n:获取当前执行的shell脚本的第n个参数,n=1..9,当n为0时表示脚本的文件名:如果n大于9,则用大括号括起来 比如${10},接的参数以空格隔开 $#:获取当前执行的shell脚本后面接的参数的总个数 $*:获取当前shell脚本所有传参的参数,不加引号和[email protected]相同:如果给$*加上双引号,如"$*",则表示把所有的参数视 为

(9)Powershell中的内置变量

上一节主要介绍了Powershell中变量的定义和使用,以及在变量中包含特殊字符,或是变量在输出时的一些技巧,详细内容参考这里. 本节介绍Powershell中的内置变量,或是称为自动变量. 在Powershell命令行中,可以输入 Get-Variable 命令查看Powershell中的所有内置变量 PS C:\> Get-Variable Name                           Value ----                           ----- $ 

awk内置变量 awk有许多内置变量用来设置环境信息,这些变量可以被改变,下面给出了最常用的一些变量。

ARGC 命令行参数个数 ARGV 命令行参数排列 ENVIRON 支持队列中系统环境变量的使用 FILENAME awk浏览的文件名 FNR 浏览文件的记录数 FS 设置输入域分隔符,等价于命令行 -F选项 NF 浏览记录的域的个数 NR 已读的记录数 OFS 输出域分隔符 ORS 输出记录分隔符 RS 控制记录分隔符 此外,$0变量是指整条记录.$1表示当前行的第一个域,$2表示当前行的第二个域,......以此类推. 统计/etc/passwd:文件名,每行的行号,每行的列数,对应的完整行

Perl中的特殊内置变量详解

#!/usr/bin/perl -w @array = qw(a b c d); foreach (@array) { print $_," "; } 例子的作用就是定义一个数组并把其中的元素打印出来,这里需要注意的是foreach循环部分,foreach循环的标准格式应该是: foreach $element (@array){ ...... } 其中数组@array将其中的元素依次赋值给$element,但是在上面那个程序中,我并没有这样做,在程序中,我就使用到了perl中内置的一

nginx内置变量

今天在整理nginx的rewrite规则,发现遇到许多关于nginx内置变量的判断,所以此处将nginx的内置变量温习一遍······ nginx支持的所有内置变量: $arg_name 请求中的的参数名,即"?"后面的arg_name=arg_value形式的arg_name $args 请求中的参数值 $binary_remote_addr 客户端地址的二进制形式, 固定长度为4个字节 $body_bytes_sent 传输给客户端的字节数,响应头不计算在内:这个变量和Apache

Qt给应用程序添加版本信息(对rc文件的设置,可利用QT内置变量)

作者:daodaoliang 时间:2016年7月11日16:12:09 版本:V 0.0.4 邮箱:[email protected] 0. 环境说明 系统环境: win10 64位 Qt环境: Qt-lib 5.6.0 QCreat0r 3.6.1 1. 使用.rc文件 1.1 在工程项目下创建 .rc 文件 例如 version.rc: # if defined(UNDER_CE) # include <winbase.h> # else # include <windows.h&