robot frame基础知识--变量
robot frame基础知识--变量
一、变量与常量基础
1、变量标识符:(1)Scalar 用$做标识符 ${val} (2)List:用@做标识符 @{lval}
2、变量声明:RF变量一般不需要特别声明,只要有初始值即可使用,硬要有声明可以在TestSuite中手动添加变量声明。操作步骤,在TestSuite中右键点击“Add Scalar”或者‘AddList’按钮来添加如图:其实实际上也是变量赋值的一种形式
3、打印变量:log/log many分别适用于Scalar变量跟List变量
4、变量作用域:
(1)case的变量作用域在case内 (2)userkeyword的变量作用域在userkeyword内 (3)文件型suite变量作用域在该suite内,包含其下所有case
(4)目录型suite,作用域在该目录下但只在目录内,其下的文件型suite是无法使用的,所以一般不再目录suite添加变量
5、改变作用域:
(1)Set Global Variable:设定全局变量,作用于所有的测试案例跟测试套件
(2)Set Suite Variable:设定File Suite级变量,在当前file suite 内有效
(3)Set Test Variable:设定case级变量,在当前case有效
6、常量
常量有:环境变量。数值常量、特殊字符常量、系统保留常量,其中环境变量的标识符为:%,其他都为:$
运行结果:
备注:常用的特殊字符常量有:${/}、${:}、${EMPTY}、${False}、${None}、${null}、${SPACE}、${True}、
二、Scalar变量
1、Set赋值:Set Variable关键字赋值,及其Set相关带Variable的关键字也可以进行赋值
示例1:第一个变量${val2}赋值为:abcd 示例2:${valif2}判断如果${val2}的值和abcd相等,就将efgh赋值给${valif2},不相等则赋值:ace
2、Get赋值:主要用于返回值,包括系统关键字的返回值和用户关键字的返回值
示例1:获取变量${val2}的长度 示例2:获取时间
3、命令赋值:使用 “-v” 的参数给变量赋值
在run界面的Arguments输入:-v val1:running 表示val1赋值为running,那么打印结果就是running而不是前面原先定义的value
4、变量使用
(1)在判断中使用:
${valif2}判断如果${val2}的值和abcd相等,就将123456赋值给${valif2},条件不成立,则不会有任何操作
(2)字符串使用:
1、字符串拼接 : hwt${val2}test,字符串拼接不需要加“+”号
2、字符串截取:${val2[2]},${val2[0:2]},打印结果为:c,ab
3、参与运算:Evaluate
(1)数值计算
结果:
(2)字符串形式的数值
结果:
三、List变量
1、变量赋值:可用Set Variable赋值,但正式的赋值还是 Create List
结果:
2、变量的使用:
在使用上,最直观的看关键字的参数是Scalar还是List,区别就是看变量名前面是否有*号,可以通过Run Keyword关键字演示体现,如下图:
这个关键字有两个参数,name、*args。name就是支持传入Scalar变量的参数,*args就是支持可以传入List变量的。Run Keyword这个关键字的作用就是传一个name的参数,这是要执行关键字的名字,*args就是要执行关键字的参数,因为每个关键字所需要的参数个数是不定的,所以这里用了可变个数的参数。
List变量其实是不定个数的,它有几个元素,就相当于有几个Scalar变量。下面结合log 关键字:
备注:并不是说没有星号就不能用List变量,只要是变量个数和List变量里元素的个数相同,就可以用List传值。比如像Log这个关键字,它有2个Scalar型的传入参数,如果想传入List也是可以的,但是必须是一个有2个元素的List。另外,因为Log的第二个参数有默认值,所以如果传入1个元素的List也是可以的。
综上,对于有多个参数的关键字,可以按照需要传入多个Scalar变量,也可以传入List变量,但是List的元素个数必须要满足关键字需要的最少参数个数,根据自己的需要选择合适的方式。
3、List元素的使用
(1)List变量元素获取方式:1、@{变量名}[index] 2、${变量名[index]}
一维List:
结果:
(2)二维List:
结果:
注意:为啥@{listC}[1][1]的结果是: [u'dajiahao', u'xiexie'][1],而不是xiexie,因为多维List的正确写法是:@{listC[1]}[1]
四、变量的转换
1、List变量转换成Scalar变量:@{argval4} 换成 ${argval4}
2、Scalar变量转换成 List变量:
3、变量转换的限制:一个变量要转换成另一类变量,只要目标变量值没有初始化或者赋值过,就可以进行转换,如果目标变量已经初始化或者赋值过,就无法进行转换。
五、其他变量:
Dictionary变量:跟List类似,List是每个元素是一个值,而Dictionary每个元素是一对值例如:{key:value,key1:value1,key2:value2},一个key对应一个value,key不能重复
对象变量:对象变量在接口测试中的Request测试库,假设${return}是接口返回的对象,对象的状态是${return.STATUS},对象内容就是${return.CONTENT}
六、变量文件:
变量文件只支持Python的.py文件
引入变量文件方式:
1、跟添加Library、Resource变量一样添加Variable文件 2、在Suit的Import引入变量文件 3、通过-V的参数因为变量文件
转载于:https://www.cnblogs.com/hwtfamily/p/9298073.html
robot frame基础知识--变量相关推荐
- Python基础知识——变量与运算符
Python的基础知识一 文章目录 Python的基础知识一 变量的类型 变量--数据的载体 变量的命名 命名规则 变量的使用 总结 Python的运算符 赋值运算符 算术运算符 比较运算符和逻辑运算 ...
- JS——基础知识--变量类型和变量计算
提问: JS中使用typeof能得到的哪些类型 何时使用===何时使用== JS中有哪些内置函数 JS变量按照存储方式区分为哪些类型,并描述其特点 如何理解JSON 涉及知识点:(1)变量类型 值类型 ...
- 基础知识——变量和简单数据类型(一)
基础点 变量命名规则:变量名只能包含字母.数字和下划线.变量名可以字母或下划线打头,但不能以数字打 头,例如,可将变量命名为flying_666,但不能将其命名为666_flying. title方法 ...
- 列举python中常用的数据类型_Python基础知识 变量和简单数据类型
在本章节中,将介绍Python程序中会使用到的各种数据类型,以及如何在程序中使用变量来表示这些数据.其中用到的一些例子均来自<Python编程从入门到实践 第2版>. 一.变量 1. 变量 ...
- 数据库基础知识——变量
1.系统变量 1.1 全局变量 作用域:针对于所有会话(连接)有效,但不能跨重启 查看所有全局变量 SHOW GLOBAL VARIABLES;查看满足条件的部分系统变量 SHOW GLOBAL VA ...
- js 的基础知识变量
什么是变量? 变是一个存储和释放我的数据! 我们用var关键字来声名变量,声名多个变量时用逗号来隔开 在变量没有赋值之前,显示是一个未定义的变量! 1 <script> 2 var a; ...
- python基础知识——变量 算术运算符
人生苦短 我用Python 注释:CTRL+/ 养成写注释习惯 变量: #在控制台打印你好界面 print("hello word") #幼儿园 #小红 2 #小明 3 #小黄 ...
- Java基础知识 变量 基本类型 类型转换 标识符 关键字 运算符 循环 分支结构 JVM
标题JVM **java语言是跨平台的,之所以跨平台是因为在不同的系统中安装不同的JVM这是Java跨平台的前提** 2.JDK:开发工具包-开发必须安装 JRE:运行时环境 JVM:Java虚拟机, ...
- python常用变量名_python基础知识整理
Python Python开发 Python语言 python基础知识整理 序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充程序: 一 ...
最新文章
- DeepMind提出强化学习新方法,可实现人机合作
- Spring mvc 3.0 入门及应用
- 集合遍历[设计模式总结] 9. 迭代器模式
- 蓄水池问题c语言编程,蓄水池大作战
- 5G 超高清关键技术:高帧率重置、高动态渲染、云加端增强
- Ubuntu 15.04 安装 boost-python
- 华为Mate 40系列预热海报颠覆传闻:这个设计手机圈独树一帜
- [USACO13DEC]牛奶调度Milk Scheduling
- 如何用一句话证明你搞 IT(挨踢)的?
- 数据库中多表连接的左连接、右连接、内连接、全连接的使用场景
- 驱动精灵扩展版(集成万能网卡驱动)无法自动识别网卡的解决方案
- 如何对多个文件夹进行重命名?这个方法可以批量修改文件夹名、给文件夹名加统一前缀或后缀
- 三次曲线和五次曲线函数
- 六、股票市场分析实战项目一
- 【LeetCode】P70 爬楼梯
- pu膜刻字膜热转印膜在衣服上的烫印参数
- 第一次服务器被黑 既惊讶 又后怕!!!
- 2018年计划和目标
- L1-030——一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。
- LDO上电瞬间微过冲问题解决和讨论