Robot Framework的 if/else语句

一. 简介

在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

关于 条件判断语句先简答学习到这里。

相关推荐
Elastic 中国社区官方博客34 分钟前
6个资源,1条命令:使用 Terraform 全自动化实现 Elastic 异常检测
大数据·人工智能·elasticsearch·搜索引擎·云原生·自动化·terraform
tedcloud1231 小时前
Dolt部署教程:打造可追踪数据变更的数据库环境
服务器·数据库·人工智能·学习·自动化·powerpoint
左心房的默白,,,1 小时前
29:Alarm管理(S5)
运维·自动化
txg6661 小时前
机器人领域简报(2026年5月29日—6月4日)
人工智能·机器人·自动化
天天进步201513 小时前
Python全栈项目--Python自动化运维工具开发
运维·python·自动化
志栋智能15 小时前
安全超自动化:应对海量安全警报的唯一解
网络·安全·自动化
zlinear数据采集卡16 小时前
基准电压电路深度解析:从理论参数到ZLinear采集卡的精准参考实战
c语言·单片机·嵌入式硬件·fpga开发·自动化
LT101579744420 小时前
2026年物流RPA选型指南:物流供应链自动化场景适配
运维·自动化·rpa
左心房的默白,,,21 小时前
17:FDC数据采集与数据分析基础(EAP进阶)
运维·数据分析·自动化
朗宇芯工控21 小时前
码垛机器人的特点及故障排除
自动化·制造·工业·运动控制系统