如何在机器人框架中将空字符串转换为 0?



我试图将空字符串替换为 0,但我遇到错误,指出 ${current_value} 仍然是空字符串.
错误:计算表达式"0 + "失败:语法错误:解析时意外的 EOF

${maxRows}  Get Row Count  ${FEEDBACK_TRANSACTION_SHEETNAME}
${TOTAL_USD}=    Set Variable    ${0}
FOR    ${i1}    IN RANGE    11  ${maxRows}
${current_value}  Read Cell Data By Coordinates  ${FEEDBACK_TRANSACTION_SHEETNAME}  5  ${i1}
${current_value} =  Convert To String    ${current_value}
Run keyword if  '${current_value}' == '${SPACE}'  Replace String  ${current_value}  ${empty}  0
...  ELSE IF  '${current_value}' == '-'  Replace String  ${current_value}  ${empty}  0
...  ELSE IF  '${current_value}' == '${EMPTY}'  Replace String  ${current_value}  ${empty}  0
...  ELSE  Log  not empty
Log  ${current_value}
Exit For Loop If  ${i1} == ${maxRows} - 4
${TOTAL_USD}=  Evaluate  ${TOTAL_USD} + ${current_value}
END
Set Suite Variable  ${TOTAL_USD}

如何在机器人框架中将空字符串转换为 0?

您可以将 python 习语x = x or y与 Evaluate 关键字一起使用,如果它是真实的,它将保留x,或者将其设置为y否则。您还需要使用不带大括号的特殊变量语法,以便机器人在表达式中使用实际变量而不是变量的字符串表示形式。

${current_value}=  evaluate  $current_value or 0

这是一个完整的测试:

*** Variables ***
${current_value}  ${EMPTY}
*** Test cases ***
Example
${current_value}=  evaluate  $current_value or 0
should be equal as numbers  ${current_value}  0

最新更新