14. robotframework-常用关键字
下面关键字全部由 Builtin 库提供,Builtin 为 Robot Framework 标准类库。Builtin库提供常用的关键字
1、log
log 关键字就是编程语言里的“print”一样,可以打印任何你想打印的内容。
运行结果:
2、定义变量
通过“Set variable”关键字来定义变量
运行结果:
Set Global Variable
使用范围:在所有测试套件中都可以使用该关键字定义的变量。
Set Suite Variable
使用范围:使用此关键字设置的变量在当前执行的测试套件的范围内随处可用。
Set Test Variable
使用范围:使用此关键字设置的变量在当前执行的测试用例的范围内随处可用
Set Variable
使用范围:该关键字主要用于设置标量变量。此外,它可用于将包含列表的标量变量转换为列表变量或多个标量变量。建议在创建新列表时使用创建列表。使用此关键字创建的变量仅在创建它们的范围内可用
3、连接对象
“Catenate”关键字可以连接多个信息
运行结果:
加上“SEPARATOR=”可以对多个连接的信息进行分割。
运行结果:
4、定义列表
通过“Create List”关键字可以定义列表。每个字符串前面加 u,是为了统一编码问题,将字符串转为 Unicode 编码。
运行结果:
如果通过“@{}”去定义列表的话,可以通过“log many”关键字进行打印
运行结果:
5、时间的操作
Robot Framework 中提供了“get time”关键字用来获取当前时间。
运行结果:
6、设置休眠时间
“sleep”关键字用来设置休眠一定时间,sleep 关键字默认以“秒”为单位。
运行结果:
7、if语句
通过“run keyword if”关键字可以编写 if 分支语句。
首先定义一个变量 a 等于 59 。
If 判断 a 大于等于 90 ,满足条件 log 输出 “优秀 ”;
不满足上面的条件,接着 else if 判断 a 大于等于 70 ,满足条件 log 输出 “良好”;
不满足上面的条件,接着 else if 判断 a 大于等于 60 ,满足条件 log 输出 “及格”;
上面的条件都不满足,else log 输出“不及格”。
注:注意 ELSE IF 和 ELSE 前面的三个点点点(...)。注意ELSE IF和ELSE要是大写。
Run Keyword If ${Query_month} < 202008 ... run keywords Set Suite Variable ${from_date} ${xxx} ... AND Set Suite Variable ${to_date} ${xxx} ... ELSE IF ${Query_month} >= 202008 ... Run Keywords Set Suite Variable ${from_date} ${xxxx} ... AND Set Suite Variable ${to_date} ${xxxxx} ... ELSE IF ${Query_month} >= 202008 and '${xx}[0]' == 'SMS' ... Run Keywords Should Be Equal As Integers 0 ${xx} ... AND Should Be Equal As Integers ${xx}[0][1] ${xx} ... AND Should Be Equal As Integers ${xx}[0][2] ${xx} ... AND Should Be Equal As Integers 0 ${xx} ... ELSE log Input Query_month:${Query_month} or Query_type:'${xx}[0]' error!!
8、for 循环
在 Robot Framework 中编写循环通过“:for”。通过“:for”定义 for 循环;in range 用于指定循环的范围。
例子1,这个例子为执行 10 次循环
运行结果:
注意:in range 定义为 10,它的范围是 0~9
例 2,遍历列表
“create list” 关键字用来定义列表(a,b,c),“@{}”用来存放列表。通过过“:for”循环来来遍历@{abc}列表中的字符。
运行结果:
例 3,循环中的判断
通过“Exit For Loop If”关键字时行 for 循环内的判断,当满足 Exit For Loop If 条件后,循环结束。
#定义集群节点列表变量
@{rediscluster} 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 ${redisPasswd} 123456
FOR ${redishost} IN @{rediscluster} ${ContentArray} Split String ${redisHost} : ${redis_conn} Connect To Redis ${ContentArray}[0] ${ContentArray}[1] redis_password=${redisPasswd} ${resyilt} ${returnvalue} Run Keyword And Ignore Error Delete From Redis ${redis_conn} operationFrequency:{${globalVIN}}:BATTERY_VOLTAGE_ALERT:${Date} Exit For Loop If '${resyilt}' == 'PASS' END