【问题标题】:Variable not found error in Robot FrameworkRobot Framework 中未找到变量错误
【发布时间】:2019-03-06 12:07:43
【问题描述】:

我是 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}

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

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

【问题讨论】:

  • 您的关键字正在设置值并返回它。调用关键字的代码是否保存了返回值?请展示一个使用此关键字的示例测试用例。
  • 嗨,布莱恩,非常感谢。这有帮助!它现在正在工作。

标签: python-3.x selenium robotframework


【解决方案1】:

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

*** 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} 

【讨论】:

  • 嗨 Sameem,感谢您详细解释。这有帮助。它现在正在工作!
猜你喜欢
  • 1970-01-01
  • 2017-08-03
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
  • 2020-02-17
  • 2021-02-21
  • 1970-01-01
  • 2018-09-02
相关资源
最近更新 更多