我们如何使用关键字返回变量RobotFramework的关键字“Set Variable if”

时间:2013-04-26 06:54:31

标签: robotframework

我们如何将Set Variable if与关键字一起使用,其中关键字返回需要在RobotFramework中设置的变量。

例如:${Var} = set variable if ${i}==10 Keyword

5 个答案:

答案 0 :(得分:2)

执行此操作的一种方法是使用“设置测试变量”的“运行关键字if”,例如。

*** Test cases ***

foo

    Run keyword if    ${i} == 10    kw that sets test variables
    should be equal    ${var}    HELLO

*** keywords ***

kw that sets test variables

    set test variable    ${var}    HELLO

答案 1 :(得分:2)

实际上,最简单的方法是使用Run Keyword If代替Set Variable If,如下所示:

Foo
    ${ret}=    Run Keyword If    ${i} == 10    Keyword Which Return Something
    Should Be Equal    ${ret}    something

Keyword Which Return Something
    ${var}=    Set Variable    something
    [Return]    ${var}

答案 2 :(得分:1)

我要这样做的方式是:

    *** Test Cases ***
    Test Case Title
        ${passed} =  run keyword and return status
        ...  Should be equal  ${i}  10
        ${var} =  set variable if  ${passed}  It is today

    Another Test Example
      ${var} =  set variable if  ${i}==10  It is today

    *** Keywords ***    
    It is today
        ${today} =  Get Current Date  UTC  result_format=%-d-%-m-%Y  exclude_millis=true
        [Return]  ${today}

进一步阅读文档 herehere

答案 3 :(得分:-1)

只需将关键字中的值存储在临时变量中:

${temp} = | Keyword    | Param1 | Param2 | .....
${Var} =  | ${i} == 10 | ${temp}

如果我是10,则$ {Var}将设置为返回关键字。

答案 4 :(得分:-1)

这对我有用,但没有使用关键字。

${var1} =    Set Variable If    ${rc} == 0    zero    nonzero

非常重要的是${var1}=之间的空白区域。