我想我会一直走在测试的道路上,既然 我已选择了测试这条路
欢迎测试界的XDJM一起交流、共同进步
QTP那点事之录制回放篇
上一篇 /
下一篇 2009-05-02 16:46:25
/ 个人分类:QTP
QTP那点事之录制回放篇
一、QTP录制原理
QTP自带了ActiveX、Web、Visual Basic三个插件(以下都在此基础上),正是通过对于这些程序对象的识别,才能够让它回放脚本,来模拟出人的行为。那么它到底是如何来录制的呢?
首先,在Object
Identification中存在那些可以被识别的对象类,共四大类:ActiveX、Standard Windows、Visual Basic、Web,这些类中存在N多的类。当录制开始时,QTP就获取控件在库中查找,找到后就把对象以及其中设置的属性添加到对象库中,在根据对于控件的操作把属性的值保存到对象库,同时在KeyWord View和Expert View中产生相应的动作和代码。
二、QTP回放原理
Run脚本也称为回放的过程,QTP会根据脚本中的描述,比如说对于某个对象的一个操作,到对象库中根据名字查找,找到后再根据此对象在对象库中保存的属性值到web或者Application中去识别,如果唯一的识别了一个对象,那么就OK。而后根据脚本web或者Application对此对象进行操作。
三、QTP record & run setting
1. 对于web程序
第一种方式是可以在任意打开的浏览器中录制回放
第二种方式是只在制定的地址进行录制回放,可以指定一个唯一的网址
此方式下有两个选项设置,一是不在已经打开的浏览器上进行录制和回放,二是当测试完了关闭浏览器。
2. 对于Windows Application
第一种方式是在任意打开的基于windows应用程序录制回放
第二种方式下有三个选项,一是只在QTP打开的程序下录制和回放;二是在Windows shell启动的程序下录制回放;三是在指定的Application录制回放
四、QTP启动程序的方法
1)SystemUtil.Run允许启动新的进程
格式:SystemUtil.Run
file,[params],[dir],[op],[mode]
下面代码利用SystemUtil对象如何启动进程
'启动IE
SystemUtil.Run
"iexplore.exe"
SystemUtil.Run
"iexplore.exe","http://www.51testing.com"
'打开电影播放器
SystemUtil.Run
"mplayerc.exe E:\movie\[2007.12.16]尖峰时刻3[2007成龙动作](帝国出品)\影视帝国(bbs.cnxp.com).尖峰时刻3.Rush.Hour.3.2007.DVDRip.cd1.rmvb /play"
2)InvokeApplication启动应用程序
格式:InvokeApplication(Command [,StartIn])
例子:
'启动ie
InvokeApplication
"IEXPLORE.EXE"
'启动计算器
InvokeApplication
"calc.exe"
3)COM - Wsh
利用Wsh对象进行启动
例子:
Dim oShell
set Shell= CreateObject("Wscript.shell")
oShell.Run
"IEXPLORE.EXE"
Set Shell =
Nothing
4)QTP自动启动应用程序
QTP打开Automation-〉Record and Run Settings下进行设置
5)录制启动过程
Dialog("运行").WinEdit("打开(O):").Set
"calc"
Dialog("运行").WinButton("确定").Click
五、QTP录制模式
为了增加识别能力,QTP提供了三种不同的录制模式:
正常录制:此模式可以录制下对于应用程序的对象的一些列操作,但是对于一些鼠标的运动轨迹却无能为力。经典的例子是Windows的画图程序,不能对于画图的过程进行录制。
模拟录制:为了解决上一个问题,提供了此方法,对于鼠标的运动进行录制
低级录制:把所有的对象识别为WinObject,是对正常录制下不能识别对象的一个补充。
收藏
举报
TAG:
录制
QTP
回放