【问题标题】:After Upgrading Robot Framework to 3.1.1 the variable concatenation does not work将 Robot Framework 升级到 3.1.1 后,变量串联不起作用
【发布时间】:2019-07-18 23:11:28
【问题描述】:

在最近将我的机器人框架版本从 3.0 升级到 3.1.1 之后,我用来直接连接的变量就像 Element Should Be Visible ${el}[contains(@class,'icon-expanded')] 不再起作用。 我找到了一种解决方法,需要我显式连接变量,而不是像上面指定的那样直接使用它

${el1} =   Catenate    SEPARATOR=    ${el}   [contains(@class,'icon-expanded')]
Element Should Be Visible    ${el1}

我在发行说明中看不到任何说明这不再有效的内容。除了使用显式连接之外,还有其他方法吗?

【问题讨论】:

    标签: automated-tests robotframework


    【解决方案1】:

    这是机器人框架 3.1 中的回归,而不是 3.1.1。描述此回归的发行说明位于标题 Square brackets after variable like ${var}[xxx] is considered item access

    像 ${var}[xxx] 这样的语法现在被认为是变量项访问 (#2601),而不是变量 ${var} 后跟文字字符串 [xxx]。如果需要后者,则需要像 ${var}[xxx] 这样的转义。

    基本上,紧跟变量的方括号中的任何内容都被视为变量的索引。

    您可以通过转义括号来解决此问题:

    Element Should Be Visible    ${el}\[contains(@class,'icon-expanded')]
    

    【讨论】:

    • 是的,有效。非常感谢。我错过了发布评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 1970-01-01
    • 2015-12-08
    • 2017-07-06
    相关资源
    最近更新 更多