【问题标题】:Pass variables from one test case to another in Robot framework (Global variable)在 Robot 框架中将变量从一个测试用例传递到另一个测试用例(全局变量)
【发布时间】:2016-04-25 03:24:22
【问题描述】:

我有一套带有两个测试用例的测试套装。我在两个测试用例之间有一个同名变量,比如说${X}。第一个测试用例改变了这个变量的值。第二个测试用例,给我以下错误Variable '${X}' not found

我怎样才能拥有像全局变量这样的东西?如果它是在一个测试用例中定义的,下一个测试用例将识别这个变量并使用新值等等

【问题讨论】:

标签: python-2.7 global-variables automated-tests robotframework


【解决方案1】:

试试这个,当您尝试更改变量的值然后将该变量设为全局时,这符合您的要求,因此当在下面的示例中记录变量时,它具有存储在变量中的最新值。

    *** Test Cases ***
Test1
    ${test}=    Evaluate    9
    Set Global Variable      ${test} 
Test2
    ${test}=    Evaluate    10
    Set Global Variable      ${test} 
Test
    Log Variables

【讨论】:

    【解决方案2】:

    您可能需要一个套件级别的变量来在测试之间共享值。根据您的描述,不清楚您的测试是在相同的测试套件下还是不同的测试套件下。

    http://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Set%20Suite%20Variable

    【讨论】:

    • 感谢您的回复,但这部分是我想要的。好像在 test1 中,例如我创建 set suite variable ${X} 5 然后 only 这个值 5 将被下一个测试识别。我的意思是,如果 ${X} 在声明为西装变量后更改为 3,那么下一个测试用例只会将 ${X} 识别为 5not 识别为 3跨度>
    • 我不确定我的理解是否正确,Set Suite Variable 和 Set Global Variable 是两个内置关键字,您可以使用它们在测试中访问变量。尽管设置全局变量有点谨慎,但我相信这就是您可能需要的。 robotframework.org/robotframework/latest/libraries/…。您还可以使用全局变量定义一个 python 模块并使用它。
    猜你喜欢
    • 2020-05-21
    • 2018-05-25
    • 2020-06-15
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多