【问题标题】:How to using global variable robotframework?如何使用全局变量机器人框架?
【发布时间】:2018-05-11 10:32:33
【问题描述】:

我想通过循环增加我的变量。如何以及在哪里可以声明(如:{myvar} = 0)

*** Test Cases ***

Start to Login
    Log     ${myvar}

*** Keywords ***

Start to Login
    [Arguments]    ${LIST}
    : FOR    ${LINE}    IN    @{LIST}
    \    ${myvar}=    Evaluate    ${myvar} + 1
    \    Log    ${myvar}

【问题讨论】:

    标签: robotframework selenium2library


    【解决方案1】:

    @pankaj-mishra 的答案的替代方案如下。这将删除 evaluate 并使用 Set Variablesimple arithmetics 来增加值。从数值开始很重要。这就是为什么使用 ${0} 创建变量以确保 0indeed a number 而不是字符串的原因。

    *** Test Cases ***
    test counter
        ${counter}    Set Variable     ${0}
    
        :FOR    ${item}    IN RANGE    10
        \    ${counter}    Set Variable    ${counter+1}
        \    Log    ${counter}
    

    【讨论】:

      【解决方案2】:

      看看这个

      *** Settings ***
      
      *** Variables ***
      @{LIST}    5    6    7
      ${myvar}
      
      *** Test Cases ***
      Check
          Start to Login    ${LIST}
      
      
      *** Keywords ***
      Start to Login
          [Arguments]    ${LIST}
          :FOR    ${LINE}    IN    @{LIST}
          \    ${myvar}=    Evaluate    ${myvar} + 1
          \    Log to console    ${myvar}
      

      输出

      Check                                                                 
        1
        2
        3
      

      【讨论】:

      • 我尝试了你的方法,但如果声明变量 ${myvar} 没有值,我会收到错误消息。如果我先设置 ${myvar} = 0,然后在循环中,它会打印 1 all repeat
      • 当您遇到此错误时,您可以分享您的 log.xml 吗?
      • RIDE 警报“错误:数据完整性检查失败!重置更改?”
      • 你运行代码时必须有一个log.HTML生成..你能分享一下吗..你发布的错误没有帮助
      • 我将您的声明更改为:${myvar} 0。现在可以了。谢谢
      猜你喜欢
      • 1970-01-01
      • 2019-04-07
      • 2020-12-07
      • 2021-01-05
      • 2020-01-15
      • 2018-11-14
      • 2022-01-02
      • 2018-09-23
      • 2017-12-23
      相关资源
      最近更新 更多