如何测试Robot Framework中的字符串变量是否为空?

问题描述 投票:0回答:3

如何测试Robot Framework中的字符串变量是否为空?

我的第一次天真的尝试看起来像这样:

Run Keyword If  ${myVar}!=${EMPTY}

但失败了:

计算表达式 '!=' 失败:语法错误:解析 (,第 1 行) 时出现意外的 EOF

然后我在 Github 上发现了这个issue,但它没有提出解决方案,只是错误消息不清楚。 这里提出了替代解决方案:

${length}=    Get Length    ${Portfolio_ste}
Run Keyword If    ${length}    Go To Edit Portfolio

但这真的是最佳实践吗?

(上下文是我使用变量参数列表,如果某个变量包含一个值,则应该执行某些操作,否则忽略它)

string robotframework is-empty
3个回答
9
投票

表达式在变量替换后必须是有效的Python表达式。暂时假设

myVar
可能类似于数字 42,那么替换后你的表达式最终将如下所示:

Run Keyword if  42!=

与空字符串进行比较时,您需要添加引号以保证替换后表达式是正确的 python 表达式。例如:

Run Keyword If  "${myVar}"!="${EMPTY}"

0
投票

Byran 的答案对于这种特定情况很有用,但这里还有一些更通用的有用命令来检查空字符串:

Should Not Be Equal  ${EMPTY}  ${myVar}
Should Not Be Empty  ${myVar}

参见 https://robotframework.org/robotframework/latest/libraries/BuiltIn.html


-1
投票

尝试

Get Variable Value
。它解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.