QTP中虚拟对象设置

上一篇 / 下一篇  2007-01-24 15:01:57 / 个人分类:QTP

51Testing软件测试网Az"P,U4c.K

     当我们在录制脚本中,有时会遇到某个对象回放时不能识别.那么就可以考虑是不是可以做个虚拟对象来代替它.您可以将这些对象定义为虚拟对象,并将它们映射到标准类,例如按钮或复选框。QuickTest 在运行会话过程中模拟虚拟对象上的用户操作。在测试结果中,虚拟对象显示时类似标准类对象。51Testing软件测试网 xZ#UI NF

"Zd,h4r1?0   下面我们还是通过一个例子来具体操作一下.这次选用LoadRuner自带的b/s架构的web例子,来录制脚本.(注:运行这个例子,同时把web server先给开起来.).这次只录制一个点击sign up(注册)的步骤.
Pf \V@9^7v0录出脚本如下:

W M V1`9M}HfR0

7g*q2O4Al e eMW0Browser("Mercury Tours").Page("Mercury Tours").Frame("navbar").Image("signup").Click 45,1251Testing软件测试网"qu w#D5D

51Testing软件测试网wS?dNiJ

51Testing软件测试网)fn Vf@n0Y!i[k

D5Fk:e%V0QTP把这个button对象识别成了Image(图片)对象,导致最后回放的时候,QTP不能完成Click操作,弹出报错信息.对于这个对象,我马上想到了做个虚拟的button对象来代替它.51Testing软件测试网]-d+uV{

51Testing软件测试网*v _ T b6}o

下面是整个虚拟对象的制作过程:

p7x%Kd;zz5~051Testing软件测试网 J\7k|,{3U#d}5U^

1.选择“工具”>“虚拟对象”>“新建虚拟对象”。或者,也可以在虚拟对象管理器中,单击“新建”。将打开虚拟对象向导。单击“下一步”。51Testing软件测试网"\:NHRaI
51Testing软件测试网5t'IK|9j-X5t6D

S_6}0S!B_p02.选择要将您的虚拟对象映射到的标准类(这里有六种对象类供你选择,分别是object,button,table,list,check box,radio button).这里我们要映射一个button对象,所以选择button.单击"下一步"51Testing软件测试网!|[/r5P;c:r

~`-A A_T3ck^s0

8|7MC:OzIn.P K03.单击“标记对象”。选择你要做虚拟对象的区域,拖动鼠标.尽量能覆盖整个你想替代的对象.
2V$z/UVC0

Q,}L"_)i%uJ},@FN0

en/MZ9Y.czpk04.在“标识对象使用”框中,选择您希望 QTP 标识和映射虚拟对象的方式。
k1qAY?4B!P0

%Ny7d,_HfSdk051Testing软件测试网T!vlpa L

如果您想要 QuickTest 标识所有出现的虚拟对象,请选择“Parent only”。51Testing软件测试网(j!f@)~:r^B

3hb8j:^ Ks:n0如果想要 QuickTest 仅标识一次出现的虚拟对象,请选择“Entire parent hierarchy"。51Testing软件测试网/pd0c.X+XD$|(U*L

51Testing软件测试网'Q[zki0`a rG x

这里我们选择默认的“Parent only”。

O)Qd7At fY051Testing软件测试网Q@ Cms(S

5.指定虚拟对象的名称和集合。从集合列表中选择,或通过在“集合名”框中输入新名称来新建集合
LT]2N}0

HuG;zRm#G.O E `051Testing软件测试网o3_P-_U$Q po

点击完成,整个虚拟对象就做好了.

0[a3~Cp^+TF^0

O r'O:eU,]L$_0虚拟对象做好后,保存在虚拟对象管理器中.我们可以通过虚拟对象管理器来删除或禁用虚拟对象定义.

o*E8H.V$u%a7{051Testing软件测试网P0^)G,?n? Y

选择“工具”>“虚拟对象”>“虚拟对象管理器”。将打开虚拟对象管理器。
%wW A6Bt7~/K9p051Testing软件测试网xh;KO[:z/O }w"D*m

(w x*vd&c P@0注意:如果希望 QuickTest 在录制时识别虚拟对象,请确保清除“选项”对话框的“常规”选项卡中的“录制时禁止识别虚拟对象”复选框。51Testing软件测试网|.W m\-bi

H*{^ a!t-k0接下来我们再来录制一遍对sign up的操作,录制代码如下:51Testing软件测试网$O1xY:zm9ig

51Testing软件测试网N@g.B+?P

Browser("Mercury Tours").Page("Mercury Tours").Frame("navbar").VirtualButton("button").Click51Testing软件测试网%u_-u3omhrX6b:U

51Testing软件测试网-bR4vG0Bb ~w

在录制过程中值得注意的是,一定要点击到我们做好虚拟对象的范围内,这样QTP才能识别到这个虚拟对象.这里我们的虚拟对象识别成功.再次回放,QTP顺利的执行了脚本.

x2YXr BHp3b?051Testing软件测试网1| A\u8["r9J$`

还有两点要注意的是:51Testing软件测试网5L$|M8[os X~E

_l^sG]@]H01.虚拟对象管理器中显示的虚拟对象集合存储在您的计算机中,而不是随包含虚拟对象步骤的测试或组件存储。这意味着如果您在测试或组件步骤中使用虚拟对象,则仅当在包含正确的虚拟对象定义的计算机中运行时,该对象在运行会话过程中才能被识别。要将您的虚拟对象集合定义复制到另一个计算机,请将您的 <QuickTest 安装文件夹>\dat\VoTemplate 文件夹的内容(或该文件夹中的单个.vot集合文件)复制到目标计算机上的相同文件夹中。51Testing软件测试网&m drAp@ t(?O

51Testing软件测试网2P$E#mRp%gQ

2.仅当录制和运行测试或组件时,才能使用虚拟对象。您不能在虚拟对象上插入任何类型的检查点,也不能使用“对象探测器”来查看其属性。51Testing软件测试网9Q^L/^*Z*p'm2@5l bM

9KvI,`D~%_E#u0接下来你可以继续完成整个sign up过程,还有多个类似的对象需要做虚拟对象.你也可以试一下?51Testing软件测试网b)X:EVQ{8r:I#F~T

GA v]Hf@.Zk!z0 51Testing软件测试网 h:T[8z'\+PG


TAG: QTP

liuxueyi的个人空间 引用 删除 liuxueyi   /   2014-08-12 12:58:33
5
auberra的个人空间 引用 删除 auberra   /   2008-08-07 15:36:10
文本框怎么映射呀
heqingdan的个人空间 引用 删除 heqingdan   /   2007-12-06 11:36:17
你真是个好家伙!!
侧视浮生 引用 删除 photon   /   2007-09-09 21:51:09
很棒
xiaonan的个人空间 引用 删除 xiaonan   /   2007-04-06 14:00:51
比如例子中所描述的一样,我们在实际测试中,可能会遇到某些对象不能很好的识别,那么我们就可以考虑是不是可以做个虚拟对象来映射到QTP能识别的对象类,以便QTP能正常完成整个测试活动.但是因为是虚拟出来的对象,所以我们并不能在这个对象上做更多的操作.比如加检查点等.只能完成一般的操作.
牧野淇&^*%$#@ 引用 删除 xqq1999   /   2007-04-06 13:27:44
xiaonan,好!
虚拟对象不能加检查点,我好像对虚拟对象的作用还是不大了解,只是单纯的明白这个功能以及你在文中提到的用法,可不可以给我解释一下它的用途和在什么情况下要用到虚拟对象呢,多谢啦!——你的崇拜者:)
gp_jl的个人空间 引用 删除 gp_jl   /   2007-01-31 23:30:27
明白,呵呵
谢谢
xiaonan的个人空间 引用 删除 xiaonan   /   2007-01-31 09:02:33
可能是第4步,我和你映射的对象不同,我直接选了个image上面一层的父对象,而你可能直接选了image对象.呵呵,这个例子不是关键,关键是理解了虚拟对象就好.
gp_jl的个人空间 引用 删除 gp_jl   /   2007-01-31 00:43:07
按照上面的步骤,我对WR自带的b/s架构的web例子的 Sign-in 做了类似的虚拟。可是我发现好像和你录制的结果不同,不知道哪里有问题,请指点。
虚拟前:Browser("Welcome: Mercury Tours_2").Page("Sign-on: Mercury Tours").Image("Login").Click 26,9
虚拟后:Browser("Welcome: Mercury Tours_2").Page("Sign-on: Mercury Tours_2").Image("Login").VirtualButton("button").Click    '就是虚拟后 Image("Login") 仍然存在。
不知道是我操作的问题,还是这样也是对的
平静的生活&工作、淡淡的爱。。。 引用 删除 nobody_pan   /   2007-01-29 13:06:30
谢谢,对虚拟对象有了更深入的了解。
 

评分:0

我来说两句

日历

« 2022-01-12  
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

数据统计

  • 访问量: 91169
  • 日志数: 25
  • 建立时间: 2006-11-24
  • 更新时间: 2012-07-10

RSS订阅

Open Toolbar