转自: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} 到输出目录的绝对路径 所有地方

Robot Framework 内置变量的更多相关文章

  1. Maven系列三Maven内置变量

    Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...

  2. Maven的内置变量

    Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...

  3. nginx的那些内置变量

    nginx在配置文件nginx.conf中可以使用很多内置变量,配置如下: location /info { add_header 'Content-Type' 'text/html'; echo & ...

  4. Maven内置变量说明

    Maven内置变量说明: ${basedir} 项目根目录 ${project.build.directory} 构建目录,缺省为target ${project.build.outputDirect ...

  5. 学习笔记——Maven 内置变量

    Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...

  6. makefile 分析 -- 内置变量及自动变量

    makefile 分析1  -p 选项,可以打印出make过程中的数据库, 下面研究一下内置的变量和规则. -n 选项, 只运行,不执行, -d 选项,相当于--debug=a,  b(basic), ...

  7. Perl中的特殊内置变量详解

    #!/usr/bin/perl -w @array = qw(a b c d); foreach (@array) { print $_," "; } 例子的作用就是定义一个数组并 ...

  8. 【译】 AWK教程指南 附录D-AWK的内置变量

    因内置变量的个数不多,此处按其相关性分类说明,并未按其字母顺序排列. ARGC ARGC表示命令行上除了选项 -F, -v, -f 及其所对应的参数之外的所有参数的个数.若将"awk程序&q ...

  9. Maven内置变量

    1.Maven内置变量说明: ${basedir} 项目根目录 ${project.build.directory} 构建目录,缺省为target ${project.build.outputDire ...

随机推荐

  1. ajango--orm操作

    一 必知必会13条: 返回对象列表的: 1.all() :查所有 2.filter() :查一行 3.exclude():排除(里面可以写条件,意思除了这个条件的所有) 4.order_by():默认 ...

  2. 软件测试_Fiddler抓包工具二

    多数资料摘至:https://www.cnblogs.com/nihaorz/p/5455148.html Fiddler 的命令使用 如何打开命令行:左下方的小黑条命令行,点击它就可以输入命令了(a ...

  3. 零基础python入门(1)

    1.前景及准备 (1).python是一门简单易学且功能强大的编程语言.它拥有高效的高级数据结构,并且能用简单而又高效的方式进行面向对象的编程.python优雅的语法和动态的类型,再结合它的解释性,使 ...

  4. java的初学感想

    了解了JAVA的来源后,翻阅了一点关于java特性的书籍,众所周知,安全性和可移植性是java得以成功的前提,对此我想发表一点看法. 1.安全性:任何东西的安全性都是相对的,虽然java编译生成的字节 ...

  5. .NET第一章

    1.介绍了.NET的作用和软件前景趋势 2.Visual studio .net 编程 3.介绍.net可以多种编程语言,通过公共语言类库存放 2.介绍C# 数据类型和变量设置,以及函数的使用 3.继 ...

  6. ssm项目导入activiti依赖后jsp页面el表达式报错

    错误原因:Tomcat8.x与activiti6.0依赖冲突导致 解决方法: 1.修改tomcat版本 2.在pom.xml中修改 在依赖中把 <dependency> <group ...

  7. bootstrap研究感想1

    我—>新人,特纯的新人,受到方大神的建议,开始写博客,写一些工作时敲代码时的感受,学习模仿大神时的感悟. -------------------------------------------- ...

  8. React 生命周期简介

       React 中组件的生命周期会经历如下三个过程:装载过程.更新过程.卸载过程. 装载过程:组件实例被创建和插入 DOM 树的过程: 更新过程:组件被重新渲染的过程: 卸载过程:组件从 DOM 树 ...

  9. Python 反射(reflection)

    反射是指通过字符串映射或修改程序运行时的状态.属性.方法, 有以下4个方法 1.getattr(object, name, default = None) 根据字符串获取 obj 对象里对应 str ...

  10. winscp工具和xshell连接linux机器时切换到root账户

    由于工作中一些机器不能以root直接登陆(sshd_config配置了不能直接root登陆),但是又想连接的时候切换为root用户 处理方式 1.给普通用户sudo su - 权限 命令行输入visu ...