当我们在录制脚本中,有时会遇到某个对象回放时不能识别.那么就可以考虑是不是可以做个虚拟对象来代替它.您可以将这些对象定义为虚拟对象,并将它们映射到标准类,例如按钮或复选框。QuickTest 在运行会话过程中模拟虚拟对象上的用户操作。在
测试结果中,虚拟对象显示时类似标准类对象。
51Testing软件测试网g/`#iUGC2_ 下面我们还是通过一个例子来具体操作一下.这次选用LoadRuner自带的b/s架构的web例子,来录制脚本.(注:运行这个例子,同时把web server先给开起来.).这次只录制一个点击sign up(注册)的步骤.51Testing软件测试网 g n j0v x Q S7H J51Testing软件测试网It_"He*}7_
录出脚本如下:51Testing软件测试网8wJ5a3k-}1G
1R{6XY2]G%Ie'TGy0Browser("Mercury Tours").Page("Mercury Tours").Frame("navbar").Image("signup").Click 45,12
U6KF
p)iw1`K051Testing软件测试网m|$kB9W,T
I$t-q"|N yU.j#Y{0b5`!SNt@1\0QTP把这个button对象识别成了Image(图片)对象,导致最后回放的时候,QTP不能完成Click操作,弹出报错信息.对于这个对象,我马上想到了做个虚拟的button对象来代替它.51Testing软件测试网 J#m5TR,eB"?
51Testing软件测试网L6KJY"s下面是整个虚拟对象的制作过程:
;r\qJ+\"{051Testing软件测试网JdD dnO1.选择“工具”>“虚拟对象”>“新建虚拟对象”。或者,也可以在虚拟对象管理器中,单击“新建”。将打开虚拟对象向导。单击“下一步”。51Testing软件测试网)T3P-W$n6@I&T
V q c R H R051Testing软件测试网[Heqb8@(~9el7F
5u-KS~4\6Y+[02.选择要将您的虚拟对象映射到的标准类(这里有六种对象类供你选择,分别是object,button,table,list,check box,radio button).这里我们要映射一个button对象,所以选择button.单击"下一步"51Testing软件测试网(MIl{U e VY
X0k @;W6c051Testing软件测试网#Y)m\Ykw
4QQSk"^T?Zv&C]03.单击“标记对象”。选择你要做虚拟对象的区域,拖动鼠标.尽量能覆盖整个你想替代的对象.
(\C!Y(KY%v`:c4u0n+e5W*Z+c v*M0
"EOS,DBO*o!_/N.s01L`K+t]/X9}l04.在“标识对象使用”框中,选择您希望 QTP 标识和映射虚拟对象的方式。51Testing软件测试网8W _-U8g R6U#^
b2p8|I1Ky0
qMX f
g&?/j?E_A051Testing软件测试网(f1}9]_(fc$tF如果您想要 QuickTest 标识所有出现的虚拟对象,请选择“Parent only”。51Testing软件测试网*x1Cnn0U
6aVH~g?!n ~
b0如果想要 QuickTest 仅标识一次出现的虚拟对象,请选择“Entire parent hierarchy"。
ms(kOz}!~T/P0!Xr(k9WkR0这里我们选择默认的“Parent only”。51Testing软件测试网K9F2v3D2lz
51Testing软件测试网ph? }l^;isY5.指定虚拟对象的名称和集合。从集合列表中选择,或通过在“集合名”框中输入新名称来新建集合
6T@)l^N0-S/y i(\ [ F1H0
yB*p(UINh05T^8i;A+B2K2l0点击完成,整个虚拟对象就做好了.51Testing软件测试网t1W _7{q@e
s
51Testing软件测试网[ k;}/[Xgw虚拟对象做好后,保存在虚拟对象管理器中.我们可以通过虚拟对象管理器来删除或禁用虚拟对象定义.51Testing软件测试网ra"E5gK$_'u
C1ps;Mu
`:YKz0选择“工具”>“虚拟对象”>“虚拟对象管理器”。将打开虚拟对象管理器。51Testing软件测试网 e.p;[1o X U E C P
6s,^(p8DWMJ051Testing软件测试网*mW*W'Qb3Ib
f'Xx
51Testing软件测试网-~-n R
bBt8EEz注意:如果希望 QuickTest 在录制时识别虚拟对象,请确保清除“选项”对话框的“常规”选项卡中的“录制时禁止识别虚拟对象”复选框。51Testing软件测试网 Zp]qLU
v
/h0w{G:^F5X6n9W0接下来我们再来录制一遍对sign up的操作,录制代码如下:
]EM,K*cr/Y0Le.c!iV#@+gQ f/T6V]0Browser("Mercury Tours").Page("Mercury Tours").Frame("navbar").VirtualButton("button").Click
&m3^$zeIp!iQ'a051Testing软件测试网f!Hv-{O#`yU
F在录制过程中值得注意的是,一定要点击到我们做好虚拟对象的范围内,这样QTP才能识别到这个虚拟对象.这里我们的虚拟对象识别成功.再次回放,QTP顺利的执行了脚本.
-F
UZ)V6lm[0l5Ki051Testing软件测试网N.y.O0{&a-Q2[ b:{-\还有两点要注意的是:51Testing软件测试网%T)e @#NK,bf _#|(c7n
(z9dWU's3I
k!N01.虚拟对象管理器中显示的虚拟对象集合存储在您的计算机中,而不是随包含虚拟对象步骤的测试或组件存储。这意味着如果您在测试或组件步骤中使用虚拟对象,则仅当在包含正确的虚拟对象定义的计算机中运行时,该对象在运行会话过程中才能被识别。要将您的虚拟对象集合定义复制到另一个计算机,请将您的 <QuickTest 安装文件夹>\dat\VoTemplate 文件夹的内容(或该文件夹中的单个.vot集合文件)复制到目标计算机上的相同文件夹中。
Z"IL8Q:\(|4Nz'@051Testing软件测试网8Lm+r$Yf'^\IU2.仅当录制和运行测试或组件时,才能使用虚拟对象。您不能在虚拟对象上插入任何类型的检查点,也不能使用“对象探测器”来查看其属性。
]Aw#Bm051Testing软件测试网a#S u'fr_接下来你可以继续完成整个sign up过程,还有多个类似的对象需要做虚拟对象.你也可以试一下?51Testing软件测试网C,T|aD_7x^L`