首页 > 解决方案 > 如何修复机器人框架中的“在不推荐使用行继续标记'...'之前使用'\'转义空单元格”错误?

问题描述

运行我的机器人框架脚本时,我不断收到此错误:

“不推荐在行继续标记 '...' 之前使用 '\' 转义空单元格。在 Robot Framework 3.2 之前删除转义。”

这是一个示例代码:

*** Test Cases ***
Debug
    ${Str} =    Set Variable    Rose
    : FOR    ${Ctr}    IN RANGE    1    5
    \    Run Keyword If    '${Str}' == 'Test'    Log    Test
    \    ...    ELSE    Log    Not Test

我搜索了一个解决方案,我只得到了这个链接:https ://gerrit.openbmc-project.xyz/#/c/openbmc/openbmc-test-automation/+/22245/

我可以看到他们使用 FOR/END 而不是 :FOR (之前工作正常)。

FOR  ${userid}  IN RANGE  2  16
  ${user_info}=  Get User Info  ${userid}
  Run Keyword If  "${user_info['user_name']}" != ""
  ...  Run IPMI Standard Command  user set name ${userid} ""
END

但是,当我尝试将代码更改为使用 FOR/END 时,RIDE 会自动将其更改回 :FOR。

我大量使用 RIDE 并希望继续这样做,因此我需要它来解决此错误。我的 RIDE 是最新的,因此无法升级。任何帮助,将不胜感激。

标签: robotframeworkrobotframework-ide

解决方案


FOR 循环的语法已更改。从文档中:

不使用 END 关闭循环、使用 \ 转义循环内的关键字以及使用 :FOR 代替 FOR 都将在 Robot Framework 3.2 中被弃用。建议用户尽快切换到新语法。

使用您的代码,我仍然可以运行测试,但会显示弃用警告。要删除在 Eclipse 中对我有用的警告:

Debug
${Str} =    Set Variable    Rose
:FOR    ${Ctr}    IN RANGE    1    5
\    Run Keyword If    '${Str}' == 'Test'    Log    Test
    ...    ELSE    Log    Not Test

当您删除 ELSE 行中的转义字符时,将不再显示警告。不过,这是一种解决方法,我猜在新版本的 RIDE 出现之前。


推荐阅读