RF里面除了循环以外,另一个流程控制的基本功能就是条件判断。本篇将对RF条件判断进行展开讲解,主要包括“条件判断,循环判断以及用户交互中使用的dialogs模块等”。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!
01:本节内容介绍
对应函数片段如下:
def getWebInfo():
response = requests.get( 'http://mirrors.163.com/centos/timestamp.txt')
return response.text
02:Run Keyword If
1)关键字含义:比较2个对象参数值是否相等,不相等就会失败
2)关键字参数:
condition, name, *args
condition是条件表达式
(python表达式),条件表达式参数给python的eval函数- name就是条件满足时要执行的关键字,并且只能执行一个关键字
3)折行操作使用“...”,在测试用例中下一行的省略号前面必须留有一个以上的空单元格
4)返回的文本是否包含某个字符(
IF
)
*** Settings ***
Library mylib4
*** Test Cases ***
case 01:
${html} getWebInfo
#IF ELSE参数
run keyword if '2019' in $html log to console \nhtml片段含有2019字符
5)返回的文本是否包含某个字符(
IF ELSE
)
*** Settings ***
Library mylib4
*** Test Cases ***
case 02:
${html} getWebInfo
#IF ELSE参数
run keyword if '2019' in $html
... log to console \nhtml片段含有2019字符
... ELSE log to console \nhtml片段没有2019字符
6)返回的文本是否包含某个字符(
IF ELSE IF
)
*** Settings ***
Library mylib4
*** Test Cases ***
case 03:
${html} getWebInfo
#IF ELSE IF参数
run keyword if '2019' in $html
... log to console \nhtml片段含有2019字符
... ELSE IF 'UTC' in $html log to console \nhtml片段含有TC字符
... ELSE 'UTC' in $html log to console \n以上字符html片段均没有
03:Get Value From User
1)Dialogs库中关键字,使用时需要先导入
2)关键字含义:暂停测试执行并要求用户输入值,类似python中的input
3)关键字参数:
message, default_value=, hidden=False
- message指的是显示在用户交互页面的信息
- default_value指的是输入一个用户默认值
- hidden=False指的是如果hidden为真值,则用户键入的值将被隐藏 ; 如果hidden不等于false、none或no的非空字符串,则认为hidden为true
4)简单的弹出对话框,提供用户交互(
Dialogs
)
*** Settings ***
Library Dialogs
*** Test Cases ***
case 04:
${weight} get value from user 请输入你的体重 45
log to console ${\n}体重为${weight}千克
run keyword if int($weight)>60 log to console 你太重了请注意锻炼身体!
04:exit for loop和continue for loop
1)关键字含义:结束整个/本次循环
exit for loop
(类似python中的break
)continue for loop
(类似python中的continue
)- RF中没有while,只能一个大的range
*** Settings ***
Library Dialogs
*** Test Cases ***
case 05:
FOR ${one} IN RANGE 99999
${weight} get value from user 请输入你的体重 45
log to console ${\n}体重为${weight}千克
#*******************************************************
run keyword if 'cont'==$weight CONTINUE FOR LOOP
run keyword if 'over'==$weight EXIT FOR LOOP
#*******************************************************
run keyword if int($weight)>60 log to console 你太重了请注意锻炼身体!
... ELSE IF int($weight)<45 log to console 你太轻了请注意营养均衡!
... ELSE log to console 你很健康体重标准!
END
log to console 测量结束
05:exit for loop if和continue for loop if
1)关键字含义:如果条件为真,则结束整个/本次循环
2)关键字参数:
condition
exit for loop if
:将 run keyword if与exit for loop结合起来continue for loop if
:将 run keyword if与continue for loop结合起来
*** Settings ***
Library Dialogs
*** Test Cases ***
case 06:
FOR ${one} IN RANGE 99999
${weight} get value from user 请输入你的体重 45
log to console ${\n}体重为${weight}千克
#*********************************************
CONTINUE FOR LOOP IF 'cont'==$weight
EXIT FOR LOOP IF 'over'==$weight
#*********************************************
run keyword if int($weight)>60 log to console 你的太重了请注意锻炼身体!
... ELSE IF int($weight)<45 log to console 你的太轻了请注意营养均衡!
... ELSE log to console 你很健康体重标准!
END
log to console 测量结束