【问题标题】:How to Compare two variables in Robot Framework if double quotes are present in the string如果字符串中存在双引号,如何比较机器人框架中的两个变量
【发布时间】:2017-10-14 07:17:44
【问题描述】:

在我的测试用例中,我试图比较是否

'不支持内容类型“application/pdf”'

是否存在。

这是我得到的错误:

评估表达式 '"Content-type "application/pdf" 不是 支持“!=”“'失败:SyntaxError:无效语法(,行 1)

我的关键字表达式是:

Run Keyword If  "${failure_message}" != "${EMPTY}"   My Click Element  id=btn_import_cancel

【问题讨论】:

    标签: robotframework


    【解决方案1】:

    Robot 允许您通过省略大括号在表达式中使用不带引号的变量。

    run keyword if  $failure_message != "" My Click Element  id=btn_import_cancel
    

    有关详细信息,请参阅内置库文档中的 Evaluating Expressions

    【讨论】:

      【解决方案2】:

      您可以将变量放在三引号中 - 在 Python 中称为字符串文字,它可以包含几乎所有字符而不会出现问题 - 双引号、\n 等。
      您的案例示例:

      Run Keyword  If  """${failure_message}""" != "${EMPTY}"   My Click Element  id=btn_import_cancel 
      # ${EMPTY} is a RF builtin variable, shortcut for an empty string - not needed here, but I guess it helps with the case's readability 
      

      原始方法中发生的事情是 RF 替换了 ${failure_message} 的值,并且由于它具有双引号字符,因此有效地在中途关闭了封闭引号 - 这里:"Content-type "application
      ,将{application} 留在字符串之外,并“使其”成为python 表达式的操作数。

      【讨论】:

        猜你喜欢
        • 2013-07-24
        • 2021-07-21
        • 1970-01-01
        • 2015-05-22
        • 2020-07-19
        • 2016-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多