Robot Framework中找不到变量错误

时间:2019-03-04 17:17:16

标签: python-3.x selenium robotframework

我是RF新手,遇到“未找到变量”错误。 我试图在用户定义的关键字下传递用户定义的变量。

代码如下

Decimal selection

[Arguments]      ${decimalval}

${decimalval} =   Set variable If
...               '${decimalval}'=='0'       //md-option[@value='0dp']
...               '${decimalval}'=='1'       //md-option[@value='1dp']  
...               '${decimalval}'=='2'       //md-option[@value='2dp']            

[return]          ${decimalval} 

然后根据条件将$ {decimalval}设置为“ // md-option [@value ='#dp']”,我将尝试在以下用户定义的关键字下使用它

Click Element       ${decimalval}

这是代码失败并引发变量未找到错误的地方。

任何帮助将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:1)

就像评论中提到的Bryan一样,您正在从关键字返回值。因此,在调用关键字时,应该有一个变量来保存返回值。

*** Test cases ***
Locator test
    ${decimalValueLocator}    Decimal selection    ${decimalval}
    Log to console    ${decimalValueLocator}
    Click element     ${decimalValueLocator}

*** Keywords ***
Decimal selection

    [Arguments]      ${decimalval}

    ${decimalval} =   Set variable If
    ...               '${decimalval}'=='0'       //md-option[@value='0dp']
    ...               '${decimalval}'=='1'       //md-option[@value='1dp']  
    ...               '${decimalval}'=='2'       //md-option[@value='2dp']            

    [return]          ${decimalval}