2.7 无人值守测试的守护神—场景恢复(Recovery Scenarios)
阶段要点
● 场景恢复的误区。
● 自定义场景恢复函数。
2.7.1 必须知道的几种场景恢复的误区
相信只要是有过自动化测试经验的读者一定会遇到过,在执行测试过程中碰到异常错误的情况,如弹出窗口、应用程序Crash等异常而导致测试执行的停止,这会使情况变得非常糟糕,因为并没有完成预期所需要执行完毕的所有自动化测试用例。正是在这种情况下,场景恢复被迫诞生了!
场景恢复可以应对多种类型的错误并进行恢复操作,在QTP中设置场景恢复还是比较简单的,在每新建一个场景恢复文件时都会有Wizard向导帮助我们去理解如何来设置场景恢复。因此,有关这些内容本书就不着重介绍了,如果有任何问题建议好好查看一下帮助文档。这里主要介绍一下场景恢复的常见误区,很多读者在使用场景恢复时经常会遇到场景恢复不起作用的情况,甚至还有很多读者认为QTP的场景恢复功能有问题,该执行场景恢复时却没有执行。难道这真的是QTP的场景恢复在功能上存在缺陷吗?这是很容易犯的错误。在这里就把这几个常见的误区给罗列一下。
1.测试脚本中含有的对象不在对象库中
‘此脚本中的测试对象不在对象库中 Browser(“NotInObjectRepository”).Sync |
分析:
当脚本中的测试对象不在对象库中时,场景恢复不会被激活,并且会提示在对象库中找不到此对象,如图2-106所示。
图2-106
2.场景恢复设置没有被激活
具体如图2-107所示。
图2-107
分析:
如果在Activate recovery scenarios下拉列表中选择了Never,那么场景恢复无法被激活。此处下拉列表在正常情况下应该选择Error,意味着当遇到符合指定条件的错误下才会被成功激活。