robotframework - 如何修复机器人框架中的“在不推荐使用行继续标记'...'之前使用'\'转义空单元格”错误?
问题描述
运行我的机器人框架脚本时,我不断收到此错误:
“不推荐在行继续标记 '...' 之前使用 '\' 转义空单元格。在 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 是最新的,因此无法升级。任何帮助,将不胜感激。
解决方案
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 出现之前。
推荐阅读
- ios - 使用服务器到服务器通知和 Firebase Cloud Functions 对 iOS 和 Android 自动更新订阅进行服务器端验证
- python - Django从html页面访问动态表单值到视图
- php - 有什么方法可以在 laravel 5.6 中找出路由文件的当前路径?
- java - 重复控制结构
- amazon-web-services - Aws MediaConvert terraform 创建失败
- flurry - 如何快速创建广告单元?
- django - 在 Heroku 上使用 Django 中的 ImageField 上传图像时出现问题
- css - CSS中的*溢出是什么?
- javascript - 仅在单个页面上进行多个 css 更改
- javascript - 在 Modern React 中将数据向上传递到组件层次结构