如何测试Robot Framework中的字符串变量是否为空?
我的第一次天真的尝试看起来像这样:
Run Keyword If ${myVar}!=${EMPTY}
但失败了:
计算表达式 '!=' 失败:语法错误:解析 (,第 1 行) 时出现意外的 EOF
然后我在 Github 上发现了这个issue,但它没有提出解决方案,只是错误消息不清楚。 这里提出了替代解决方案:
${length}= Get Length ${Portfolio_ste}
Run Keyword If ${length} Go To Edit Portfolio
但这真的是最佳实践吗?
(上下文是我使用变量参数列表,如果某个变量包含一个值,则应该执行某些操作,否则忽略它)
表达式在变量替换后必须是有效的Python表达式。暂时假设
myVar
可能类似于数字 42,那么替换后你的表达式最终将如下所示:
Run Keyword if 42!=
与空字符串进行比较时,您需要添加引号以保证替换后表达式是正确的 python 表达式。例如:
Run Keyword If "${myVar}"!="${EMPTY}"
Byran 的答案对于这种特定情况很有用,但这里还有一些更通用的有用命令来检查空字符串:
Should Not Be Equal ${EMPTY} ${myVar}
Should Not Be Empty ${myVar}
参见 https://robotframework.org/robotframework/latest/libraries/BuiltIn.html
Get Variable Value
。它解决了我的问题。