这是我第一次尝试在 Robot Framework 中使用 IF 条件,我发现它出奇的难。我的测试失败并显示以下消息:'If' 是保留关键字。嗯,是的 -- 我想使用该关键字!
这是相关代码的片段。
# Column lookup using ${heading}
@{heading_list} Create List
@{header_element_list} Get WebElements ${table_headers_locator}
FOR ${element} IN @{header_element_list}
Append To List ${heading_list} ${element.text}
END
${col} Get Index From List ${heading_list} ${heading}
IF ${col} < 0
Fail Heading '${heading}' not found in table.
END
我在 PyCharm 工作,使用 Robot Framework 代码语法高亮插件。该插件似乎也认为 IF 条件有问题;请注意,它的关键字是浅蓝色的,而紧邻其上方的 FOR 循环中的关键字是橙色的。
我相信我的 IF 语句符合 IF 语句的最简单示例,如机器人框架文档中所示:https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#advanced-features。请帮助我理解为什么不是这样。谢谢!
答案 0 :(得分:0)
Bryan Oakley 写道:“看起来该插件尚未更新以支持机器人 4.x”,这让我进行了更深入的挖掘。我雇主的自动化团队指定了 Robot 3.1.2!这不是我可以改变的。
在线文档指出 IF 表达式已添加到 Robot 4.0 中的语言中。因此,我对 IF 语句的语法突出显示与我期望的不一致是正确的——因为 Robot 3.x 不会以这种方式处理条件语句。
就我个人而言,我觉得奇怪的是,像 IF 表达式这样基本的东西实际上是一种尖端的语言功能。但是,知道 Robot 3.x 强加的限制,我会设计一个解决方法。