如何使用全局变量robotframework?

如何使用全局变量robotframework?,robotframework,selenium2library,Robotframework,Selenium2library,我想通过循环增加变量。如何以及在何处声明它(例如:{myvar}=0) 看看这个 *** Settings *** *** Variables *** @{LIST} 5 6 7 ${myvar} *** Test Cases *** Check Start to Login ${LIST} *** Keywords *** Start to Login [Arguments] ${LIST} :FOR ${LINE} I

我想通过循环增加变量。如何以及在何处声明它(例如:
{myvar}=0)

看看这个

*** 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
看看这个

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

对于@pankaj mishra的回答,另一种选择如下。这将删除
评估
,并使用
设置变量
增加值。从数值开始很重要。这就是为什么使用${0}创建变量以确保
0
不是字符串

*** Test Cases ***
test counter
    ${counter}    Set Variable     ${0}

    :FOR    ${item}    IN RANGE    10
    \    ${counter}    Set Variable    ${counter+1}
    \    Log    ${counter}

对于@pankaj mishra的回答,另一种选择如下。这将删除
评估
,并使用
设置变量
增加值。从数值开始很重要。这就是为什么使用${0}创建变量以确保
0
不是字符串

*** Test Cases ***
test counter
    ${counter}    Set Variable     ${0}

    :FOR    ${item}    IN RANGE    10
    \    ${counter}    Set Variable    ${counter+1}
    \    Log    ${counter}

我尝试了您的方法,但如果声明变量${myvar}没有值,则会出现错误。如果我先设置${myvar}=0,然后在循环中,它会重复打印1。当您收到此错误时,您可以共享您的log.xml吗?骑乘警报“错误:数据健全性检查失败!重置更改?”运行代码时必须生成log.HTML。您可以共享吗。您发布的错误无助于我将您的声明更改为:${myvar}0。现在一切都好了。谢谢,我尝试过你的方法,但是如果声明变量${myvar}没有值,我会出错。如果我先设置${myvar}=0,然后在循环中,它会重复打印1。当您收到此错误时,您可以共享您的log.xml吗?骑乘警报“错误:数据健全性检查失败!重置更改?”运行代码时必须生成log.HTML。您可以共享吗。您发布的错误无助于我将您的声明更改为:${myvar}0。现在一切都好了。谢谢