机器人:使用运行关键字在设置阶段分配变量

时间:2015-09-17 17:34:40

标签: robotframework

我正在尝试为我分配变量的测试用例创建设置阶段。我知道为了做多个关键字,我需要使用Run Keywords,但这样做是否可以设置变量?例如:

*** Test Cases ***
Case1
    [Setup]    Run Keywords
    ...            ${var1}=    Keyword1
    ...    AND     ${var2}=    Keyword2

显然上述情况不起作用,因为${var1}${var2}只被视为Run Keywords的参数。由于它们尚未定义,因此设置失败。

3 个答案:

答案 0 :(得分:2)

不,你不能。即使您添加了"使用运行关键字",此问题的答案与Is possible to create new variable in suite/test set up - Robot Framework?

相同

答案 1 :(得分:0)

您可以使用Set Suite Variable键盘来完成此操作。

set suite variable  ${var1}  Hello World

您可能需要转义变量...

set suite variable  \${var1}  Hello World

来自内置库文档:

如果新范围内已存在变量,则其值将被覆盖。否则,将创建一个新变量。如果变量已存在于当前范围内,则该值可以保留为空,新范围内的变量将获取当前范围内的值。

答案 2 :(得分:0)

这里的问题你为什么要这样做?

我这样做的方式,如果我想调用关键字并在变量中设置它们的输出 要在我的测试套件中重用它们,我会执行以下操作:

*** Settings ***
Library        BuiltIn
Suite Setup    Initialize Variables


*** Keywords ***
Initialize Variables
    ${Argument1} =   Set Variable   some_value
    ${output1} =     Keyword1    ${Argument1}
    ${output2} =     Keyword2
    ${output3} =     Keyword3    ${Argument1}   other_value

*** Test Cases ***
Test Case 1
    # Here you can use the variables that you initialized in the Suite Setup.
    Log   ${output1}
    Log   ${output2}
    Log   ${output3}

Test Case 2
    # Also here you can use the same variables.
    No Operation

注意:如果要为每个测试用例设置变量,可以在设置部分中执行此操作:

*** Settings ***
Test Setup   Initialize Variables

或者您可以使用测试用例本身的设置(与您在问题中的设置相同)

Test Case 1
    [Setup]   Initialize Variables

请注意,如果需要,“Initialize Variables”也可以使用参数。