Python 3.x Robot框架中未找到变量错误

Python 3.x Robot框架中未找到变量错误,python-3.x,selenium,robotframework,Python 3.x,Selenium,Robotframework,我是RF新手,遇到“未找到变量”错误。 我试图在用户定义的关键字下传递一个用户定义的变量 代码如下 Decimal selection [Arguments] ${decimalval} ${decimalval} = Set variable If ... '${decimalval}'=='0' //md-option[@value='0dp'] ... '${decimalval}'=='1'

我是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选项[@value='#dp']”,我将尝试在用户定义的关键字下使用它,如下所示

Click Element       ${decimalval}
这就是代码失败并抛出变量not found错误的地方

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

就像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} 

就像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} 

关键字正在设置值并返回它。调用关键字的代码是否保存返回值?请展示一个使用此关键字的测试用例示例。你好,Bryan,非常感谢。那有帮助!它正在工作。您的关键字正在设置值并返回它。调用关键字的代码是否保存返回值?请展示一个使用此关键字的测试用例示例。你好,Bryan,非常感谢。那有帮助!它正在工作。嗨,Sameem,谢谢你详细解释。这很有帮助。它正在工作!嗨,Sameem,谢谢你详细解释。这很有帮助。它正在工作!