如何解决Robot Framework中的“弃用行继续标记'...'之前用'\'转义空单元格”的错误?

时间:2019-07-30 00:46:41

标签: robotframework robotframework-ide

运行我的Robot Framework脚本时,我不断收到此错误:

“不建议在行继续标记'...'之前使用'\'对空单元格进行转义。请在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是最新的,所以升级将无法进行。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

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

  

不使用END关闭循环,使用\转义循环中的关键字,并且   使用:FOR代替FOR都将在Robot中被弃用   框架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为止。