Qrs文件的用途

上一篇 / 下一篇  2013-06-03 15:25:54 / 个人分类:功能测试

三十八)精通QTP——自动化测试技术领航

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,意味着当遇到符合指定条件的错误下才会被成功激活。
 3.VbScript脚本语言自身错误

 

‘VBS脚本语言出错

X = 1/0

 

  分析:

  类似以上脚本中出现的VBS语言本身的错误或者语法错误都无法激活场景恢复。当执行到此脚本时,程序会报出图2-108中的错误。

图2-108

  如图2-108所示,若是需要控制类似的vbs错误,通常会使用On Error Resume Next与Err对象来进行错误控制。

  4.当MsgBox切断测试过程时

 

Dim a

= 1

Msgbox a

Browser("micClass:=Browser").Close

 

  分析:

  由于MsgBox弹出框自动切断了当前的测试执行链,也就是暂停了测试,但并没有出现测试Error,因此场景恢复不会被激活。

  小结:

  ● 必须是对象库中已经存在的对象错误才会自动激活;

  ● 必须是QTP自身封装对象错误才会自动激活;

  ● 对于VBS语言环境错误不会自动激活。

2.7.2  陌生的Web默认场景恢复

  可能很多读者不太清楚,在QTP安装完毕之后,在它安装目录下存在这么一个Recovery文件夹,里面存放着测试Web时默认的场景恢复文件。此文件是QTP官方为我们Web自动化测试人员提供的场景恢复文件。

  路径:<安装目录>\recovery\WebRecovery.qrs。

  此文件是一个总的场景恢复库文件。在Recovery Scenario Manager中可以直接对此文件进行查看,如图2-109所示。

图2-109

  分析:

  如图2-109所示,这些都是QTP官方提供的场景恢复文件中的所有弹出框场景,建议读者如果是在进行Web自动化测试过程中,可以使用此场景恢复文件与自己设计的场景恢复文件结合进行使用,效果更佳!


TAG:

 

评分:0

我来说两句

Open Toolbar