一. 简介
在Robot Framework中,可以使用多个 IF/ELSE 条件来实现不同的测试逻辑。IF 语句用于在满足条件时执行特定的测试步骤,而 ELSE语句则用于在条件不满足时执行其他步骤。
本文来学习 Robot Framework 框架中 if/else 语句的语法以及使用。
二. Robot Framework的 if/else语句
1. Run Keyword If 语句
Run Keyword If 关键字是 robotframework 在4.0版本之前用于控制分支流程的一个常用关键字,在 Robotframework 4.0版本 中引入了IF/ELSE,可能以后就使用 IF/ELSE 替代 Run Keyword If了,现在最新版本6.1还是同时支持Run Keyword If和 IF/ELSE的。
举例说明其用法:
*** Variables ***
${login_name} Set Variable admin
${name} Set Variable LingXiaoZhan
*** Test Cases ***
Show Admin Menu If User Is Admin
[Documentation] 验证管理员
Run Keyword If '${login_name}' == '${name}' Log This is a same name
... ELSE Log This is not a same name
2. IF...ELSE IF...END语句
在 Robotframework 4.0版本 中引入了IF/ELSE,使用方法很简单,举例说明:
*** Test Cases ***
Example
${var1} Set Variable 1
${var2} Set Variable 2
IF ${var1} < ${var2}
Log var1 is less than var2
ELSE IF ${var1} > ${var2}
Log var1 is greater than var2
ELSE
Log var1 is equal var2
END
结果输出如下:
IF/ELSE 语句还有一种用法,就是当IF后面没有接 ELSE IF或 ELSE时,IF后面要接 END。下面来举例说明:
*** Test Cases ***
Compare Two Numbers
${var1} Set Variable 90
IF ${var1}>0
Log value is positive number
END
3. 嵌套 IF/ELSE语句
在 4.0版本 robotframework 以前是不支持 IF嵌套的,在引入了 IF/ELSE后才支持的IF嵌套。IF嵌套示例如下:
*** Test Cases ***
Compare Two Numbers
${var1} Set Variable 90
IF '${var1}'!='$EMPTY'
IF ${var1}>0
Log number is positive number
ELSE
Log number is negative number
END
END
结果输出如下:
4. Set Variable If 语句
Set Variable If 语句 是 robotframework 中比较常用的 If 关键字,用于根据条件设置变量值的关键字。
语法结果如下:
Set Variable If condition value_if_true [value_if_false]
condition: 一个布尔表达式,决定是否设置变量为 value_if_true。
value_if_true: 如果条件为真,则将变量设置为这个值。
[value_if_false]: 可选参数,如果条件为假,则将变量设置为这个值。如果没有提供此参数且条件为假,则变量将保持不变或未定义。
举例说明:
*** Test Cases ***
Verify the user is a administrator
[Documentation] Verify the user is an administrator
${is_admin} Set Variable ${True}
${menu}= Set Variable If ${is_admin} == True Admin Menu User Menu
Log ${menu} #输出 Admin Menu
关于 条件判断语句先简答学习到这里。