RF:将$ {SPACE},$ {EMPTY}和 - 值替换为'0'

bbk*_*bbk 1 python robotframework

目前正在使用Robot Framework List.我有一个这样的列表['Thu 2/22/2018', ' ', '-', '0.0000', '0', '', 'Fri 2/23/2018', '0', '-', '0.0000', '0', '+20 hr 28 min', 'Sat 2/24/2018', '37', '37', '0.0000', '37', '-10 hr 23 min']我想将$ {SPACE},$ {EMPTY}和 - 值转换为'0'.我正在尝试下面的代码,但我收到这些错误

ValueError: Cannot convert index ' ' to an integer.
ValueError: Cannot convert index '-' to an integer.
ValueError: Cannot convert index '' to an integer.
Run Code Online (Sandbox Code Playgroud)

这是代码

:FOR   ${x}  IN   @{OnlyList}
\  Log   ${x}   console=true
\   run keyword if  '${x}'== '${SPACE}'  Collections.set list value  ${OnlyList}  ${x}  0
\   run keyword if  '${x}'== '-'  Collections.set list value  ${OnlyList}  ${x}  0
\   run keyword if  '${x}'== '${EMPTY}'  Collections.set list value  ${OnlyList}  ${x}  0
Run Code Online (Sandbox Code Playgroud)

不知道如何转换.Pl帮助.

Jan*_*řík 6

Set List Value将index作为第二个参数.

${i}    Set Variable    ${0}
:FOR   ${x}  IN   @{OnlyList}
\  Log   ${x}   console=true
\   run keyword if  '${x}'== '${SPACE}'  Collections.set list value  ${OnlyList}  ${i}  0
\   run keyword if  '${x}'== '-'  Collections.set list value  ${OnlyList}  ${i}  0
\   run keyword if  '${x}'== '${EMPTY}'  Collections.set list value  ${OnlyList}  ${i}  0
\   ${i}    Set Variable    ${i+1}
Log   ${OnlyList}   console=true
Run Code Online (Sandbox Code Playgroud)

  • 机器人提供了一个"FOR .. IN ENUMERATE ..."选项,因此您无需手动增加计数器:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#for-in-enumerate-loop (3认同)