针对robotframework,在测试领域褒贬不一,有吐槽语法的,有吐槽ide的,但是对于测试小白入门自动化门槛而言,我个人觉得还是挺不错的,后续我会分多篇文章来将相关知识点和大家一个分享。
首先我们从基本的语法入手,对于robotframework的安装我会专门出一片文章来阐述。
1:set variable创建变量
${变量名} Set Variable 变量值
注意点:
$开头表示变量,不论数据是否使用[]\{}
变量不区分大小写,但不全是,最好一致
2:作用域相关关键字
2.1:set global variable 使用该关键字修改变量作用域后,在所有测试套件suite中都可以使用该关键字定义的变量
但是需要注意的是目录型suite和文件型suite的作用域区别
2.2:Set Suite Variable 使用此关键字设置的变量在当前执行的测试套件的范围内随处可用
2.3:Set Test Variable 使用此关键字设置的变量在当前执行的测试用例的范围内随处可用
3:创建列表和字典
${列表名} Create List 值1 值2 值3
log ${列表名}
数据中不需要使用[]
一个单元格一个数据,每个元素自动转字符串
循环访问时建议使用@
@{列表名} Create List 值1 值2 值3
log ${列表名}
这里需要注意输出列表时还是要以$开头
${字典名} Create Dictionary 关键字1=值1 关键字2=值2
log ${字典名}
注意点:
数据中不需要使用{}
一个单元格一对数据,每个元素值自动转字符串
循环访问时建议使用&
输出:
使用${变量/列表/字典名}
结果为字符串形式
4:for循环
方式1:使用IN进行遍历列表
FOR ${x} IN @{列表名}
语句
END
方式2:使用IN进行遍历数值
FOR ${x} IN 值1 值2 值3
语句
END
方式3:使用
FOR ${y} IN RANGE 初值 终值
语句
END
注意点:
1、IN建议大写
2、语句必须从第二列单元格开始写起
3、IN RANGE建议大写,中间有空格
4、方式3中,初值可以省略,默认从0开始
5、方式3中,初值和终值放在不同单元格中
6、终值不被使用,而是到终值-1
5:exit for loop根据条件退出循环
实例:
FOR ${res6} IN RANGE 1 10
Run Keyword If ${res6}==5 Exit For Loop
log 结果为--》:${res6}
END
exit for loop if
实例:
FOR ${res5} IN RANGE 1 10
Comment Run Keyword If ${res5}==5 log 结果为:${res5}
Exit For Loop If ${res5}==5
log 结果为:${res5}
END
以上两个都是退出循环,相当于python中得break
另外强调下以下实例:
@{res7} Create List 1 2 3 4 5
FOR ${x} IN @{res7}
Run Keyword If ${x}==4 Exit For Loop
log ${x}
END
对于列表或字典,循环时建议使用@{列表名},字典使用&{字典名}
6:Continue For Loop:提前进入下一轮循环。类似python中的continue
实例1:
@{res7} Create List 1 2 3 4 5
FOR ${y} IN @{res7}
Run Keyword If ${y}==4 Continue For Loop
log ${y}
END
实例2:
@{res7} Create List 1 2 3 4 5
FOR ${z} IN @{res7}
Continue For Loop If ${z}==4
log ${z}
END
7:if语句
方式1:
${变量名} Set Variable 变量值
Run Keyword If 表达式 命令 命令的参数1 参数2 ...
注意:
表达式可用:${变量名}>5或0<${变量名}<10的形式
方式1的实例:
${res3} Set Variable 10
Run Keyword If ${res3}>5 log 值为:${res3}
方式2:
${变量名} Run Keyword If 表达式1 Set Variable 值1
... ELSE IF 表达式1 Set Variable 值2
... ELSE Set Variable 值3
方式3的实例:
${age} Set Variable 26
${res4} Run Keyword If ${age}<18 Set Variable 未成年
... ELSE IF 18<${age}<24 Set Variable 未大学毕业
... ELSE Set Variable 大学毕业
log ${res4}
8:查看变量的数据类型
${结果变量} Evaluate type($变量名)
实例:
${res5} Evaluate type($res1)
log ${res5}
注意点:
变量名不能再加{}
Evaluate表示执行python表达式,并返回执行结果