机器人框架中是否有静态类型的变量?如果是这样,我该如何调用它?还是通过python文件来解决?
我要解决的问题是,我希望设置一次变量并让它记住设置的值。不幸的是,这个变量在一个资源文件中(它与我的测试套件文件分开)。
机器人框架中是否有静态类型的变量?如果是这样,我该如何调用它?还是通过python文件来解决?
我要解决的问题是,我希望设置一次变量并让它记住设置的值。不幸的是,这个变量在一个资源文件中(它与我的测试套件文件分开)。
给定以下套件结构:
/test_folder
__init__.robot
variables.resource
test_s1.robot
test_s2.robot
test_s3.robot
现在在您的variables.resource
文件中,您可以创建和初始化变量,例如:
*** Keywords ***
Setup Static Variable
${my_static}= Init My Static # Get time here
Set Suite Variable ${my_static} children=true
在这里,您可以使用Set Suite Variable使您的变量在当前套件(实际调用此关键字的位置)中以及children=true
在所有子套件中都可以访问。例如,这意味着文件夹中的所有测试套件文件。
下一步是创建__init__.robot
文件:
*** Settings ***
Resource variables.resource
Suite Setup Setup Static Variable
当前套房将是test_folder
,孩子们将是test_s1
,test_s2
和test_s3
。${my_static}
所有这些都可以访问。关键字将Setup Static Variable
执行一次,当执行到达test_folder
.
在您的测试套件文件中,即使不导入资源文件,您也可以使用该变量。
test_s1.robot:
*** Test Cases ***
My First Test
Log ${my_static}
如果您的变量是一个常数并且在运行时未计算,那么@Justin 的答案就是您要寻找的。
是的,您可以在机器人框架中设置静态变量。您的资源文件中应该有类似的内容。
*** Settings ***
...
*** Variables ***
${MyVariable} MyValue
*** Keywords ***
...
你的测试应该是这样的
*** Settings ***
Resource (Path to resource file)
*** Test Cases ***
My Test Case
[Documentation] This is documentation
My keyword MyVariable