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