Robot FW:内置模块:设置套件变量:如何在新范围内覆盖新创建的变量?

Robot FW : Builtin module : Set Suite Variable : How to overwrite the newly created variable to in the new scope?

Acc.to Variable scopes,我们有全局范围、测试套件范围、测试用例范围和本地范围。

参考Set Suite Variable documentation

If a variable already exists within the new scope, its value will be overwritten.

我的目标是编写一个简单的代码片段,在实践中演示这句话。 这是技术问题

为了能够完全实现技术目标,新范围当前范围需要解释。例如,current/new 范围与全局范围、测试套件范围、测试用例范围和本地范围有何关系?

有点难以准确理解你的问题,但我认为以下测试可以说明句子 "If a variable already exists within the new scope, its value will be overwritten."

首先,此测试在第一个测试的测试范围内创建一个名为 ${var} 的变量。第二个测试验证变量在原始范围之外不可见。

第三个测试与第一个测试一样开始,创建一个测试范围的变量。然后它调用 Set suite variable 覆盖第三个测试的测试范围内的变量。

最后,第四个测试表明该变量现在可用于套件中的每个测试,因为该变量存在于套件范围内。

*** Test cases ***
Example 1
    # Set a variable in a test scope
    Set test variable  ${var}  test
    Should be equal    ${var}  test

Example 2
    # Verifies that the variable from the first test
    # is not available in this new test scope
    Variable should not exist  ${var}

Example 3
    # Set a variable in the test scope
    Set test variable  ${var}  test
    Should be equal    ${var}  test

    # Set a suite variable that has the same name as the local variable
    Set suite variable  ${var}  suite

    # Even though we set it as a suite scope, it overwrites the local
    # variable of the same name
    Should be equal  ${var}  suite

Example 4
    # Verify the suite variable from the previous test is visible
    # in this new test scope
    Should be equal  ${var}  suite