【问题标题】:Cannot store variable values at RobotFramework无法在 RobotFramework 中存储变量值
【发布时间】:2015-12-01 13:55:35
【问题描述】:

例如,我们有:

Get ticket value
        Wait Until Element is Visible    ${ticketDescription}
        ${ticketDescValue}=    Execute Javascript    return window.document.querySelector('p[class*="ticket-description"]').innerHTML.toString()


Verify if ticket value matches
       Element Text Should Be    ${some_locator}    ${ticketDescValue}

其中,${ticketDescValue} 将是预期文本

测试用例示例:

*** Test Cases ***
Ticket value is correct
    [Documentation]    OK: test test test
    [Tags]    Add to basket
    Go to some URL
    Get ticket value
    Navigate to product details page
    Verify if ticket value matches

有没有办法在现有关键字之间共享变量? 在 Java 中,我可以在这种情况下使用 getter 和 setter。 或者向方法发送参数等...

如何使用 Robot Framework 来实现它?

【问题讨论】:

    标签: python selenium selenium-webdriver robotframework


    【解决方案1】:

    您需要在赋值行之后使用类似于以下内容的方式将变量值设置为全局变量或套件变量:

     Set Suite Variable    ${ticketDescValue}
    

    或者,您可以从第一个关键字返回变量并将其作为参数传递给第二个关键字

    【讨论】:

      【解决方案2】:

      更好的方法是修改您的 Get ticket value 关键字以返回一个参数,并修改您的 Verify if ticket value matches 关键字以将票据值作为参数。这样你就不需要使用全局变量了。

      Get ticket value
          Wait Until Element is Visible    ${ticketDescription}
          ${ticketDescValue}=    Execute Javascript    return window.document.querySelector('p[class*="ticket-description"]').innerHTML.toString()
          [Return]    ${ticketDescValue}
      
      Verify if ticket value matches
         [Arguments]    ${value}
         Element Text Should Be    ${some_locator}    ${value}
      

      那么您的测试将如下所示:

      *** Test Cases ***
      Ticket value is correct
          [Documentation]    OK: test test test
          [Tags]    Add to basket
          Go to some URL
          ${ticket value}=    Get ticket value
          Navigate to product details page
          Verify if ticket value matches    ${ticket value}
      

      我使所有参数名称不同,以强调它们不必完全相同 - 但如果您愿意,可以使它们完全相同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多