1、内部变量(set variable);
内部变量,就是只在本用例内部有效,在别的用例无效;
如下图所示;
2、全局变量(Set Global Variable);
全局变量可以跨测试套(Suite)有效,且只对定义变量的当前用例及之后用例有效;
所以如果要全用例有效,可以将全局变量的定义放在第一个用例中;
测试结果:
Starting test: UItest programs.Test Suite.test2_global
20200317 16:25:48.755 : INFO : ${global_bar} = hello RF
20200317 16:25:48.755 : INFO : hello RF
Ending test: UItest programs.Test Suite.test2_global
2.1、全局变量定义之前调用--会报错;
test1_var是全局变量定义之前的用例,所以报错;
测试结果:
Starting test: UItest programs.Test Suite.test1_var
20200317 16:43:43.036 : INFO : ${var1} = hello python
20200317 16:43:43.036 : INFO : hello python
20200317 16:43:43.037 : FAIL : Variable '${global_bar}' not found.
Ending test: UItest programs.Test Suite.test1_var
2.2、全局变量定义之后调用--PASS;
test3_var是全局变量定义之后的用例,所以PASS;
测试结果:
Starting test: UItest programs.Test Suite.test3_global
20200317 16:43:43.041 : INFO : hello RF
Ending test: UItest programs.Test Suite.test3_global
2.3、全局变量定义之后跨Suite调用--PASS;
test4_var是全局变量定义之后的 Tset Suite2测试套下面的用例 ,所以PASS;
测试结果:
Starting test: UItest programs.Tset Suite2.test4_global
20200317 16:43:43.046 : INFO : hello RF
Ending test: UItest programs.Tset Suite2.test4_global
3、Suite变量(Set Suite Variable);
只在定义用例的 当前Suite 内有效;
如下图所示,test1_suite中定义了Suite变量,在test_var中执行PASS;
而在另外一个Suite下的test2_suite执行失败;
测试结果:
Starting test: UItest programs.Test Suite.test1_suite
20200317 17:05:04.714 : INFO : ${suite_var} = Hello Suite
20200317 17:05:04.715 : INFO : Hello Suite
Ending test: UItest programs.Test Suite.test1_suite
Starting test: UItest programs.Test Suite.test_var
20200317 17:05:04.717 : INFO : Hello Suite
Ending test: UItest programs.Test Suite.test_var
Starting test: UItest programs.Tset Suite2.test2_suite
20200317 17:05:04.722 : FAIL : Variable '${suite_var}' not found.
Ending test: UItest programs.Tset Suite2.test2_suite