Vinayak49
Vinayak49

Reputation: 87

How to fix "No keyword with name '0=' found" in Robot Framework

I am a newbie in Robot framework. I want to run multiline IF Statement but I am getting below error:

Error :

"0= Evaluate, ${G_NO_OF_RECIPIENTS}+${NUMBER_OF_CALLEE} FAIL No keyword with name '0=' found. "

This error is occurring for variable ${REM_COUNT}

Code :

     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" 

Similar piece of code works somewhere else, only thing was I did not use multiline if statement in it. I appreciate if I get help on this. Thanks

Upvotes: 3

Views: 3570

Answers (1)

Todor Minakov
Todor Minakov

Reputation: 20077

The Run Keywords does not allow variable assignment inside its block, e.g. this line:

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

is illegal syntax. It tried to substitute ${REM_COUNT} with its value (0), and to run it - thus the failure.

Run Keyword If does pass any return values, so you can do it this way:

${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"

Upvotes: 2

Related Questions