机器人框架中是否存在诸如静态类型的变量之类的东西?如果可以,我该如何调用它?还是通过python文件做到这一点的解决方案?
我要解决的问题是,我希望一次设置一个变量,并使其记住设置的值。不幸的是,该变量位于资源文件中(与我的测试套件文件分开)。
答案 0 :(得分:1)
是的,您可以在机器人框架中设置静态变量。您的资源文件中应该包含类似的内容。
*** Settings ***
...
*** Variables ***
${MyVariable} MyValue
*** Keywords ***
...
您的测试应该看起来像这样
*** Settings ***
Resource (Path to resource file)
*** Test Cases ***
My Test Case
[Documentation] This is documentation
My keyword MyVariable
答案 1 :(得分:1)
给出以下套件结构:
/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的答案就是您要寻找的东西。