robotframework 变量
1.变量标识符
每个变量都可以用使用变量标识符{变量名}来进行表示,变量主要有两类一类是Scalar,另一类是List.Scaler类型则用“$”作为标识符,List型主要用“@”作为标识符(如:${var},@{lavr})
2.变量声明
1.手动添加变量声明
在Testsuite上单击鼠标右键,或者在edite区域单击“Add Scalar”或者“Add List”按钮来新增变量。
2.最常用的是无论是Scalar还是List变量,都可以用Set Variable来赋值。
3.变量的作用域
通常情况下,每个变量默认情况都是局部变量。如果想改变这些变量的作用域,通常可以使用一下关键字进行变更:
1、Set Global Variable:设置为全局变量。当设置以后这个变量在所有的测试案例和测试套件均可使用
2、Set Suite Variable:设置File Suite级变量,这个变量只要在当前的File Suite 内部都有效,包括下面的案例
3、Set Test Variable 为设定Case级变量,这个变量在当前Tes Case内有效
robotframework 常量
常量一般有环境变量、数值常量、特殊字符、系统保留变量。
1、环境变量的标识符:%”如果在计算机的环境变量中设置了ANT_HOME这个系统变量,那么在RF中需要打印出来的话如下:
log | %{ANT_HOME} |
---|---|
输出结果:
2、其余都是:”$”
3、特殊字符常量系统保留常量。
一般要找这两类常量的话,只要一个办法就是Content Assistance助手,一般有2个快捷键可以呼出,Ctrl+空格。或者Ctrl+Alt+空格
特殊字符常量一般有:${/} ${:} ${EMPTY} ${False} ${None} ${null} ${SPACE} ${True}
robotframework Scalar变量
1.变量赋值
(1) Set 赋值
一般来说都是使用Set Variable关键字对变量进行赋值(也可以使用其他如:Set Variable If)
${val2} | Set Variable | abcd | ||
---|---|---|---|---|
${valif2} | Set Variable If | ‘${val2}’==’abcd’ | efgh | ace |
注:${val2}赋值为:abcd
,${valif2}判断${val2}得值如果等于abcd,那么${valif2}=efgh,否则就等于ace
(2) Get 赋值
一般来说主要用于返回值上,包括系统关键字的返回值和用户关键字的返回值(Set也属于返回值)
${getVal1} | Get Lenght | ${val2} |
---|---|---|
${getVal2} | Get Time |
注:获取${val2}的长度赋值给${getVal1},获取当前时间赋值给${getVal2}
(3) 命令行赋值
在${val1}运行时使用”-v”参数来给变量赋值
log | ${val1} |
---|---|
如果直接运行则会输出最初定义的变量值value,
结果如图:
此时在run界面上的Arguments里加一行:1
-v val1:abcde
结果如图所示:
robotframework RIDE的日志没显示
描述:第一次运行的时候日志能展示,再次运行脚本就没有日志了,重启ride还是出现这个问题
解决方法1:
修改python路径\Lib\site-packages\robotide\contrib\testrunner目录下testrunner.py文件(第400行)
pop方法的内容改成如下即可:1
2
3
4
5
6
7
8
9
10
11
12def pop(self):
result = ""
for _ in xrange(self._queue.qsize()):
try:
result += self._queue.get_nowait()
except Empty:
pass
try:
result=result.decode('UTF-8')
except UnboundLocalError:
pass
return result
修改完成之后需要关闭robotframework RIDE,重启一下才会生效
展示效果如下:
解决方法2:
进入run界面,勾选:show message log.如图所示: