7.选择一个空的场景恢复函数库文件,并为其定义场景恢复函数,如图2-116所示。
图2-116
8.完成自定义函数后,选择Stop the test run,并把其场景恢复文件加载到当前设置。
分析:
在函数中写入如下代码:
Function RecoveryFunction1(Object, Method, Arguments, retVal) Print Object.GetTOProperty("testObjName") Print Method Print join(Arguments,",") Print DescribeResult(Result) End Function |
可以看到RecoveryFunction1函数中有4个参数:Object、Method、Arguments、retVal。接下来,就为大家详细介绍这4个帮助文档中并没有进行解释的参数。
● Object发生错误时自动映射当前错误的QTP封装测试对象。
用法:Print Object.GetTOProperty("testObjName")。
结果:输出对象库中的LogicName。
TestObjName为隐藏属性。
● Method发生错误时自动映射当前错误的QTP测试对象方法。
用法:Print Method。
结果:输出测试对象的方法。
● Arguments发生错误时自动映射当前错误的所有参数。
用法:Print join(Arguments, ", ")。
结果:输出所有参数,以逗号分隔。
注意:由于Arguments是一个数组,因此,这里直接使用join连接数组。
● retVal发生错误时自动映射当前错误的具体错误信息。
用法:Print DescribeResult(Result)。
结果:输出详细错误信息。
注意:retVal是Long类型,所以不可直接输出,必须要使用DescribeResult方法进行转化。
小结:
一旦场景恢复被激活之后,它就会去查找那个自定义场景恢复文件中的对应的函数,从而分别打印出当前测试对象的关键字、当前测试对象的方法、当前错误的所有参数,以及当前错误的具体错误信息。
2.7.4 总结
场景恢复这项技术对于框架中的错误定位处理非常实用,结合本书的Setting保留对象的隐藏模式里介绍的行数定位即可完美解决一系列的错误定位问题,并且本技术在终章“自动化测试框架展示”部分也使用到。
请读者自行尝试不同的场景恢复(本章节不再设置练习题),多去设计“场景恢复”,多去触发“场景恢复”,不断地增加自己的实战经验。
本文选自《51Testing软件测试作品系列》之九——《精通QTP——自动化测试技术领航》。
本站经人民邮电出版社和作者的授权,近期将进行部分章节的独家连载,敬请期待!
版权声明:51Testing软件测试网获人民邮电出版社和作者授权独家连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关阅读: