|
QTP 是 Mercury 功能测试工具之一,支持 Java 和 .NET ,已经获得越来越多的用户好评。它是基于关键字驱动的测试工具,通过记录和回放测试人员对被测试对象进行的单击、赋值等顺序操作而完成整个测试过程。那么它录制的时候是怎么识别对象的呢?
在对象仓库中存在四种可以被识别的对象类: ActiveX 、 Standard Windows 、 Visual Basic 、 Web 。当录制脚本时,会自动获取被操作对象的一系列属性信息,然后将对象和它的属性信息存在自己的对象仓库中,同时在关键字视图( KeyWord View )和专家视图( Expert View )中产生相应的动作和代码。回放时,先在对象仓库中找到对象,根据对象仓库中描述的对象属性,在被测应用中定位到该对象,执行相应的动作。但是很多的初学者在使用该工具的过程中很容易出现 对象无法识别或录制不成功的问题,为了增加识别能力, QTP 提供了三种不同的录制方式:正常录制( Normal Recording )、模拟录制( Analog Recording )和低级录制( Low Level Recording ),下面分别作简单的介绍:
1. 正常录制( Normal Recording )
正常录制模式是 QTP 默认的录制模式,这种录制模式是 QTP 最突出的特点,是直接对对象,比如对标准控件的的操作,录制完之后,不管再次打开的对象位置在哪,它都能执行到。此模式可以录制下对于应用程序的对象的一些列操作,但是对于一些鼠标的运动轨迹却无能为力。经典的例子是 Windows 的画图程序,不能对于画图的过程进行录制。
2. 模拟录制( Analog Recording )
为了解决上面的问题, QTP 提供了模拟录制的方式。模拟录制模式是鼠标和键盘的精确操作进行录制。录制鼠标的拖动,捕捉鼠标的运动轨迹,主要用与绘图此类软件的录制。
模拟录制模式分为两种:一种是相对于指定窗口录制;另一种是相对于屏幕录制。选择相对于指定窗口录制,就会只录制鼠标键盘的指定窗口内的所有动作,在窗口外的动作不会录制。而屏幕录制就可以录制在整个屏幕内所做的所有动作,包括点击 win 任务栏上的 Quicktest 图标,但在 QTP 窗口内所做的所有操作不会进行录制。
3. 低级录制( Low Level Recording )
把所有的对象识别为 WinObject ,是对正常录制下不能识别的环境和对象的一个补充。对对象的位置要求非常严格, 不是 Object.Operation value 而是记录屏幕坐标点上的操作。 对象的坐标有一点改变就有可以录制失败, 稳定性较差 。
实际的应用中应该根据实际情况,具体问题具体分析,取舍得当。
正常录制模式
QTP默认为正常录制模式,此类模式继承了对象模型的所有优点,能够充分发挥对象库的威力。他通过识别程序中的对象来代替以前屏幕坐标的形式。但是正常模式并不能保证程序中所有的对象因此还需要其它两种模式来补充。
模拟录制模式(Analog Recording):
此类模式录制了所有键盘和鼠标的操作,对象不能识别可以考虑使用,录制后文件比较大,这类方式适用于不能录制对象模式时适用。请注意这种方式是不能由QTP进行编辑的。记录鼠标的轨迹,键盘的动作,如:鼠标拖动,点击等等。选择模拟录制模式,如果在回放时,改变了屏幕的分辨率或者窗口/屏幕的位置, 回放就会失败。
低级录制模式(Low Level Recording):
(不推荐)此类方式录制的对象都以Window和WinObject的形式存在。在低级录制模式下,QTP能够按照屏幕上的x坐标和y坐标。录制该对象,将所有父类对象录制为Windows测试对象,将所有的其他对象录制为WinObject测试对象。它们在ActiveScreen中显示为标准Windows对象,这类方式适用于QTP不能正常识别对象时应用,主要是记录坐标的位置,可以对QTP不支持的对象的记录。 |
|