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 关于 条件判断语句先简答学习到这里。

相关推荐
ccino .9 小时前
【SSRF漏洞及自动化扫描插件】
运维·自动化
骆驼爱记录9 小时前
Word通配符技巧:高效文档处理指南
开发语言·c#·自动化·word·excel·wps·新人首发
MarkHD9 小时前
Python RPA七日实战:用pyautogui打造第一个自动化脚本
python·自动化·rpa
柱子jason10 小时前
基于IOT-Tree Server支持的gRPC服务,使用C#开发自己的设备监控客户端
物联网·rpc·c#·自动化·iiot·iot-tree
AC赳赳老秦10 小时前
等保2.0合规实践:DeepSeek辅助企业数据分类分级与自动化报告生成
大数据·人工智能·分类·数据挖掘·自动化·数据库架构·deepseek
骆驼爱记录10 小时前
Word表格题注自动设置全攻略
开发语言·c#·自动化·word·excel·wps·新人首发
搞科研的小刘选手11 小时前
【高质量|高届数学术会议推荐】第十三届先进制造技术与材料工程国际学术会议 (AMTME 2026)
自动化·制造·材料工程·新材料·先进制造技术·先进技术设计·制造系统
Blossom.11811 小时前
从“金鱼记忆“到“超级大脑“:2025年AI智能体记忆机制与MoE架构的融合革命
人工智能·python·算法·架构·自动化·whisper·哈希算法
杜子不疼.11 小时前
用Claude Code构建AI内容创作工作流:从灵感到发布的自动化实践
运维·人工智能·自动化
biuyyyxxx21 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化