Robotframework变量知识点总结

目录
  • 变量与常量
  • 常量
    • 环境变量
    • 数值常量
    • 特殊字符常量和系统保留常量
  • Scarlar变量
    • 变量赋值
      • Set 赋值
      • Get 赋值
      • 命令行赋值
    • 变量使用
      • 在判断中使用
      • 字符串使用
  • List变量
    • 变量赋值
      • Set Variable
      • Create List
    • 变量使用
    • List 元素的使用
  • 变量转换
    • List转换成Scarlar
    • Scarlar转换成List
  • 其他变量
  • 变量文件
一,变量与常量
  1. 变量都用{变量名}表示。变量主要有两类:scalar类和List类。Scalar 类表示为 ${变量名},List类表示为 @{变量名}
  2. RF的底层语法是Python,所以不需要特别声明变量,只需要进行初始化赋值。若需要添加声明在TestSuite右键单击,或者Edit区单击“Add Scala”或者“Add List”,添加变量。
  3. 无论是scala变量还是List变量都可以通过Set Variable进行赋值。
  4. 通常情况下,变量都是局部变量,默认情况下各个变量的作用域不同,具体如下:
  • 一个case中的变量,作用域在这个case内部。
  • 一个userKeyword里的变量,作用域在这个userKeyword内部。
  • 一个文件型suite里的变量,作用域在这个suite内部,* 其下所有case可用该变量,其下的suite文件型无法使用该变量 * 。
二,常量

常量主要有环境变量(%),数值常量( $ ),特殊字符常量($ ),系统保留变量($ )。

  • 环境变量
    定义: %{变量名称}
    修改方式: 只能在定义的地方去修改。RF只能使用,不能编辑
  • 数值常量
    通常情况下。RIDE中所有字符会被当做字符串,即使变量的值是数值,默认以字符串的形式存在。
    定义:${2.6}
  • 特殊字符常量和系统保留常量
    特殊字符常量主要有${/},${:},${EMPTY},${False},${None},${Null},${SPACE},${True},其都是系统保留常量
三,Scalar变量
(一)变量赋值

Scalar变量赋值方法有三种: set赋值Get赋值命令行赋值

  • Set赋值
${val2}Set Variableabcd
${val3}Set Variable If‘${val2}’=’abcd’efghijk

第一变量val2赋值为abcd。第二个变量判断如果${val2}的值为abcd则赋值 ${val3}为efgh,否则赋值 ${val3}为ijk

  • Get赋值
${get_val1}Get Length${val2}
${get_val2}Get Time

第一个变量获取的是长度,第二个变量获取的是时间。

  • 命令行赋值
    -v val:变量值
(二)变量使用

1,在判断中使用

${val2}Set Variableabcd
${val3}Set Variable If‘${val2}’=’abcd’efghijk

2,字符串使用
2.1,把变量作为字符串的一部分

log0123${val2}456
log0123+${val2}456

第一行会把 ${val2} 添加到0123和456中间去。第二行会把+ ${val2}添加到0123和456中间去。
2.2 ,字符串截取

log${val2[2]}
log${val2[0:3)}

第一行返回${val2}的第3个字符串(python字符串从0开始)。第二行截取下标为0,1,2的字符串(相当于[0:2])。
2.3 ,参与运算

${cal1}Set Variable123
${cal2}Evaluate${cal1}+1

返回结果为${cal2}=124

${cal1}Set Variable‘123’
${cal2}EvaluateInt(${cal1})+1

${cal1}为字符串,需转换成int类后才能改进行Evaluate的加法运算。

四,List变量
(一)变量赋值

Scalar变量赋值方法有两种:Set Variable和Creat Variable

@{val3}Set Variable123
${listVal3}Create List456

打印之后的结果:@{val3}=[1|2|3]
${listVal3}=[4|5|6]

(二)变量使用
${keyword} Set Variablelog
@{argVal3}Create ListabcdWARN
Run Keyword${keyword}${argVal3}

运行结果:
20191230 18:21:52.657 : INFO : ${argVal3} = log
20191230 18:21:52.658 : INFO : @{@{argVal3} = [ abcd | WARN ]
20191230 18:21:52.660 : WARN : abcd

(三) List元素的使用

上面的方法是关于整个List变量的,如果要是用List变量里的元素,会用到两种方法: @{变量名}[index]${变量名[index]} 。如果是多维的话就需要多用几个[]。

@{useList}Create Listabc
log@{useList}[1]
log${useList[1]}

最终返回结果,两行都是INFO=b

@{listA}Create List12
@{listB}Create List34
@{listC}Create List${listA}${listB}5
log@{listC[1]}[1]
log${list[1][1]}

最终返回结果,两行都是4。
特别注意:
1,listC赋值时,listA和listB前面都是$。否则最后listC还是一维的。
2,@{listC[1]}[1]表达式是正确的,@{listC}[1][1]返回的会是INFO=[u’3’,u’4’],[1]。

五,变量转换
(一)List转换成Scalar

有些关键字只接收scalar变量,而实际相传List变量给他,或者反过来,都可以进行变量转换操作。
方法:修改@{argList4}为${argList4}
前提:@{argList4}初始化过

@{argList4}Create ListabcdWARN
log${argList4}

上述方法会将argList4转换为scarlar变量。即使${argList4}没有声明过,因为有了@{argList4},依然可以转换成功。

(二)Scarlar变量转化为List变量

方法: 修改 $ {argList4} 为 @{argList4},并且在 @{argList4} 前后添加一些字符,使其成为字符串
前提:${argList4}初始化过

${argList4}Create ListabcdWARN
log=@{argList4}=

INFO : ${a} = [‘WARN’, ‘adcd’]
INFO : =[‘WARN’, ‘adcd’]=

六,其他变量

其实除了Acalar和List变量,RF中还有Dictionary变量和对象变量。
Dictionary变量的每个元素是一对值,如{key1:val1,key2:val2}。
对象变量在接口测试中的Request测试库里涉及到。加入$ {return}是接口返回的对象。那么$ {return.STATUS}表示对象的状态,$ {return.CONTENT}表示对象的内容。

七,变量文件

变量文件只支持python的py文件。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值