十六、对RF中ROBOT_LIBRARY_SCOPE = 'GLOBAL'进行分析
(1)ROBOT_LIBRARY_SCOPE属于ROBOT库范围,这个范围有三个等级,分别是TEST CASE、TEST SUITE、GLOBAL三个等级,默认是TEST CASE;GLOBAL这个等级用的比较多。
(2)在测试库中申明等级的作用是,调用这个类的方法时,就会实例化这个类
1.TEST CASE:在每个test case中引用都会实例化一次
2.TEST SUITE:在suite中引用,只会实例化一次,也就是说10个test case都引用了这个类的方法,但是只有第一个test case是调用的时候实例化,后续的共用
3.GLOBAL:在全局只实例化一次,调用一次后,在所有suite中引用、test case中引用都不会再实例化
(3)实际举例:
在 def __init__中加个输出日志:logger.info('test001',also_console=True)
(四)举例说明
1.选择TEST CASE等级:建立两个测试套件,套件A中一个测试用例,套件B中两个测试用例----实际运行了输出4次日志
2.选择TEST SUITE等级:建立两个测试套件,套件A中一个测试用例,套件B中两个测试用例----实际运行了输出3次日志
3.选择GLOBAL等级:建立两个测试套件,套件A中一个测试用例,套件B中两个测试用例----实际运行了输出1次日志
4.不管用什么等级,都会全局调用一次,在TEST CASE或TEST SUITE中新创建一个实例,所以再次强烈建议用GLOBAL。
当有些人一出生就有的东西,我们要为之奋斗几十年才拥有。但有一样东西,你一辈子都不会有,那就是我们曾经一无所有。