首页 > 解决方案 > 如何在 Robot Framework 中修复“找不到名称为 '0=' 的关键字”

问题描述

我是机器人框架的新手。我想运行多行 IF 语句,但出现以下错误:

错误 :

"0= 评估,${G_NO_OF_RECIPIENTS}+${NUMBER_OF_CALLEE} 失败没有找到名称为 '0=' 的关键字。"

变量发生此错误${REM_COUNT}

代码 :

     Log                ${G_NO_OF_RECIPIENTS}
     Log                ${NUMBER_OF_CALLEE}
     ${REM_COUNT}      Set Variable    ${0}
     Run Keyword If     "${NUMBER_OF_CALLEE}" != "${G_NO_OF_RECIPIENTS}"      Run Keywords
     ...    ${REM_COUNT}=           Evaluate        ${G_NO_OF_RECIPIENTS}+${NUMBER_OF_CALLEE}
     ...    AND     Log            "ITS WORKING" 

类似的代码可以在其他地方使用,唯一的问题是我没有在其中使用多行 if 语句。如果我能得到这方面的帮助,我将不胜感激。谢谢

标签: robotframework

解决方案


Run Keywords不允许在其块内分配变量,例如这一行:

Run Keywords
 ...    ${REM_COUNT}=           Evaluate        ${G_NO_OF_RECIPIENTS}+${NUMBER_OF_CALLEE}
 ...    AND     Log            "ITS WORKING"

是非法语法。它试图${REM_COUNT}用它的值 (0) 替换并运行它——因此失败了。

Run Keyword If确实传递任何返回值,所以你可以这样做:

${REM_COUNT}=     Run Keyword If     "${NUMBER_OF_CALLEE}" != "${G_NO_OF_RECIPIENTS}"
                      ...                  Evaluate       ${G_NO_OF_RECIPIENTS}+${NUMBER_OF_CALLEE}
                      ...     ELSE         Set Variable   ${REM_COUNT}   # if the condition is False, leave the variable to its previous value
Run Keyword If     "${NUMBER_OF_CALLEE}" != "${G_NO_OF_RECIPIENTS}"    Log            "ITS WORKING"

推荐阅读