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
相关产品推荐
相关产品推荐

