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

 

posted on 2020-07-02 17:34  走路带风的帅界扛把子  阅读(1004)  评论(0编辑  收藏  举报