You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Robot Framework中字符串与数字类型变量的比较及结果获取方法

Robot Framework 字符串与数值变量比较的正确实现

你现有代码存在三处核心错误:

  • 数值比较场景错误使用引号包裹变量,会强制转为字符串匹配,无法正确判断数值大小
  • 大于等于运算符写反,正确写法为>=而非=>
  • Run Keyword If 的返回值需要统一用变量承接,不能在分支内直接写变量赋值语法

正确实现代码

你的需求是:当${numRows1}为None时赋值为0,否则当值大于等于0时保留原值,可直接使用如下写法:

# 统一承接Run Keyword If的返回值给numRows1变量
${numRows1}    Run Keyword If    "${numRows1}" == 'None'    Set Variable    ${0}
...    ELSE IF    ${numRows1} >= 0    Set Variable    ${numRows1}
...    ELSE    Set Variable    ${0}    # 此处可根据业务需求调整小于0时的默认返回值

Log    处理后的numRows1值:${numRows1}

关键注意事项

  • 只有判断变量是否为None/空字符串这类场景,才需要用引号包裹变量做字符串比较
  • 数值大小比较时不要给变量加引号,Robot Framework会自动解析变量的原始类型做数值运算
  • 如果你的${numRows1}是字符串格式的数字(比如从接口/数据库返回的字符串类型数值),需要先转成数值类型再比较:
    # 转整数
    ${numRows1}    Convert To Integer    ${numRows1}
    # 转浮点数
    ${numRows1}    Convert To Number    ${numRows1}
    

单独获取比较布尔结果的方法

如果需要单独拿到比较操作的布尔结果,可使用Evaluate关键字:

${is_ge_zero}    Evaluate    ${numRows1} >= 0
Log    numRows1是否大于等于0:${is_ge_zero}

内容的提问来源于stack exchange,提问作者rserobert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 10:39:03