【问题标题】:How to test if a string variable in Robot Framework is empty?如何测试 Robot Framework 中的字符串变量是否为空?
【发布时间】:2018-10-26 12:00:16
【问题描述】:

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

我的第一次天真的尝试是这样的:

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

但它失败了:

评估表达式 '!=' 失败:SyntaxError:解析时出现意外 EOF(第 1 行)

然后我在 Github 上找到了这个issue,但它没有提出解决方案,只是错误消息不清楚。提出了另一种解决方案here

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

但这真的是最佳做法吗?

(上下文是我使用了一个变量参数列表,如果某个变量包含一个值应该做些什么,否则就忽略它)

【问题讨论】:

  • Run Keyword If '${myVar}'!='${EMPTY}' 用撇号包装你的变量
  • 如果${myVar} 包含换行符,这将导致解析错误。在这种情况下,建议的解决方案是合适的。如果您可以确定可以解析您的字符串,请使用@Bryan 的答案中提供的解决方案。

标签: string robotframework is-empty


【解决方案1】:

该表达式必须是变量替换后的有效 Python 表达式。假设myVar 可能类似于数字 42,那么替换后您的表达式最终会是这样的:

Run Keyword if  42!=

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 对于我们这些喜欢在点击之前查看 URL 的人:robotframework.org/robotframework/latest/libraries/…
    • 您可以在单击链接之前将鼠标悬停在链接上;-) 无论如何,您的回答并不能解决 OP 的问题:测试字符串是否为空(即存在,但不包含字符)跨度>
    猜你喜欢
    • 2018-08-10
    • 2011-10-02
    • 2011-06-20
    • 2012-04-13
    • 2010-10-28
    • 2015-09-04
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    相关资源
    最近更新 更多