Robot Framework 内置变量

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. None
  6. Do XYZ ${None} # Do XYZ 获得 Python None 作为参数
  7. Null
  8. ${ret} = Get Value arg # Checking that Get Value returns Java null
  9. 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. Four Spaces
  5. Should Be Equal ${SPACE * 4} \ \ \ \ \
  6. Ten Spaces
  7. Should Be Equal ${SPACE * 10} \ \ \ \ \ \ \ \ \ \ \
  8. Quoted Space
  9. Should Be Equal "${SPACE}" " "
  10. Quoted Spaces
  11. Should Be Equal "${SPACE * 2}" " \ "
  12. Empty
  13. Should Be Equal ${EMPTY} \


 还有两个变量 @{EMPTY} 和 &{EMPTY},他们分别表示 ‘空列表’ 和 ‘空字典’ 变量。 这两个变量也是有用的,例如在写测试模板的时候,模板关键字不带参数使用时。
  1. *** Test Cases ***
  2. Template
  3. [Template] Some keyword
  4. @{EMPTY}
  5. Override
  6. Set Global Variable @{LIST} @{EMPTY}
  7. 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}到输出目录的绝对路径所有地方
posted on 2019-02-28 14:07 搏击的小船 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/guanjie20/p/10450028.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文搞懂this指向

前言 那你说一下 js 中的 this 指向吧&#xff01;这句话已经成为面试官口中的高频面试题&#xff0c;作为前端开发的我们&#xff0c;你真的搞懂了 this 指向了吗&#xff1f;快来跟我一起来查漏补缺吧&#xff01;通过几个小案例让大家更能直白的理解 this 指向。 很多前端伙…

难怪大家丢掉了postman而选择 Apifox

前言 当下采用前后端分离模式开发Web应用已经成为气候&#xff0c;在开发阶段有一个不成文的规定则是 项目开发后端先行 但是作为前端开发工程师的我们&#xff0c;难道在搭建完页面后只能等待后端的接口么&#xff1f;这样的话我们则完全被后端开发限制住了。在前面跟大家介绍…

mvc 模式和mtc 模式的区别

首先说说Web服务器开发领域里著名的MVC模式&#xff0c;所谓MVC就是把Web应用分为模型(M)&#xff0c;控制器(C)和视图(V)三层&#xff0c;他们之间以一种插件式的、松耦合的方式连接在一起&#xff0c;模型负责业务对象与数据库的映射(ORM)&#xff0c;视图负责与用户的交互(页…

HP LaserJet MFP M227_M231双面打印

双面打印设置 转载于:https://www.cnblogs.com/xiexiaokui/p/9261577.html

万木成林,我种了“Vue技能树”

初衷 作为Vue技能树的构建者&#xff0c;一直拖延到现在才来写这篇文章&#xff0c;主要还是心里没有底&#xff0c;前面殊不知这颗“树”是否促进了大家学习的热情&#xff0c;也不知它给大家带来了多少收获。说到我们的Vue技能树&#xff0c;我作为尤大大的忠实粉丝自就业后…

我看面向对象

已经面向对象编程多年了&#xff0c;渐渐地对面向对象有了越来越深的体会&#xff0c;下面谈谈我对面向对象的拙见&#xff1a;&#xff09; 面向对象三大特性&#xff1a;封装、继承、多态。 首先是封装&#xff0c;我觉得封装是面向对象的基础&#xff0c;封装让各种相关的数…

poj 3525

多边形内最大半径圆。 哇没有枉费了我自闭了这么些天&#xff0c;大概五天前我看到这种题可能毫无思路抓耳挠腮举手投降什么的&#xff0c;现在已经能1A了哇。 还是先玩一会计算几何&#xff0c;刷个几百道 嗯这个半平面交二分就阔以解决。虽然队友说他施展三分套三分***** 想象…

尤雨溪对 2022 Web前端生态趋势是这样看的

文章目录前言开发范式&底层框架方面趋势基于依赖追踪范式基于依赖追踪范式—共同点基于编译的响应式系统统一模型的优势和代价基于编译的运行是优化Vue Vapor Mode&#xff08;input&#xff09;工具链原生语言在前端工具链中的使用工具链的抽象层次基于 Vite 的上层框架上…

bzoj4919 [Lydsy1706月赛]大根堆

Description 给定一棵n个节点的有根树&#xff0c;编号依次为1到n&#xff0c;其中1号点为根节点。每个点有一个权值v_i。你需要将这棵树转化成一个大根堆。确切地说&#xff0c;你需要选择尽可能多的节点&#xff0c;满足大根堆的性质&#xff1a;对于任意两个点i,j&#xff0…

众多mock工具,这一次我选对了

文章目录写在前面Mock介绍Mock能解决什么问题?传统Mock解决方案Postman接口测试工具Mock js第三方库Eolink解决方案全局Mock高级Mock返回结果Mock智能内置Mock智能自定义Mock约束条件MockEolink的Mock解决方案的优势:写在最后写在前面 交战之前&#xff0c;战士必先利其兵器&…

高并发的理解和使用场景-----特意区别和多线程的关系

一&#xff0c;高并发的理解 1.概念&#xff1a;就是短时间内遇到大量操作请求&#xff0c;导致站点服务器/db服务器资源被占满甚至严重时直接导致宕 2.影响&#xff1a;没有做高并发预处理的系统会给用户很差的体验感&#xff1b; 3.系统好坏的衡量&#xff1a;衡量一个系统的…

async 和 await 原来这么简单

前言 前端同学们可能都知道 async 和 await 的使用&#xff0c;当被面试官问到 async 和 await 的是什么&#xff1f;或者说一说你对 async、await 的理解&#xff1f;如果我们还是仅仅去阐述我是如何使用的就显得格外的苍白无力。今天博主就来带大家进一步认识我们的 async 和…

研一寒假02-指针_new分配内存_使用new来创建动态数组_使用动态数组_使用delete来释放new分配的内存...

#---------------------------------指针-----------------------------------# #include <iostream> int main(){ using namespace std; /* 指针引入 */ int updates 6; //声明一个变量 int* p_updates; //声明一个指针p_updates,该指针指向一个地址 p_updates&upd…

利用Windows内置工具winsat测试硬盘速度(SSD机械盘对比)

利用Windows内置工具winsat测试硬盘速度&#xff08;SSD&机械盘对比&#xff09; 以下是红色内容是在命令行运行&#xff1a; C:\Users\Administrator>winsat diskWindows 系统评估工具> 正在运行: 功能枚举 > 运行时间 00:00:00.00> 正在运行: 存储评估 -seq …

我为何在 CSDN 乐在其中

文章目录写在前面成为博主究竟能得到什么&#xff1f;内在提升耀眼名片丰富眼界提升知名度博客》变现写在最后写在前面 各位伙伴大家好&#xff0c;我是几何心凉&#xff0c;一位不是很大的也不是很小的博主&#xff0c;今天想要跟大家去聊一些比较实在的内容&#xff1b;大家能…

EFLinq查询

1、无参数查询var model db.Database.SqlQuery<UserInfo>("select* from UserInfoes ").ToList(); 2、有参查询var model db.Database.SqlQuery<UserInfo>("select* from UserInfoes where idID ",new SqlParameter("ID",id)).ToL…

实现div可以调整高度(div实现resize)

实现div可以调整高度&#xff08;div实现resize&#xff09; 一、div 实现resize&#xff08;类似textarea&#xff09; 代码如下&#xff1a; <!DOCTYPE html> <html><head><title>div实现textarea效果</title><style>#textarea {height:…

10分钟设置免费远程桌面

文章目录前言远程桌面设置教程启动Amazon Lightsail实例配置远程桌面启动远程桌面使用远程桌面前言 “你见过洛杉矶凌晨4点的样子吗&#xff1f;” 没有也没关系&#xff0c;你可以轻松配置一台位于洛杉矶的免费远程桌面。 利用Amazon全球可用区&#xff0c;甚至可以在世界各…

树莓派-开启spi

1. sudo raspi-config #进入树莓派配置页 2. #进入每5项&#xff0c;进入启用spi即可 转载于:https://www.cnblogs.com/lobin/p/10459076.html

Lucene全文检索过程

1. 索引过程&#xff1a; 1) 有一系列被索引文件 2) 被索引文件经过语法分析和语言处理形成一系列词(Term)。 3) 经过索引创建形成词典和反向索引表。 4) 通过索引存储将索引写入硬盘。 2. 搜索过程&#xff1a; 1) 用户输入查询语句。 2) 对查询语句经过语法分析和语言分析得到…