自动化测试专家,专注于自动化测试领域的框架开发及国外最新自动化技术,担任过银行、电子商务等项目的自动化测试工作,精通自动化测试工具QTP、Watir等.并对QTP有过深入的研究,有过企业内训和工具培训经验,希望能与各位同行一起沟通,交流,探讨。 zzxxbb112@hotmail.com

[原]【软件测试自动化-QTP系列讲座 47】== 虚拟对象的属性描述 ==

上一篇 / 下一篇  2012-03-11 13:41:48 / 个人分类:QTP系列讲座

51Testing软件测试网(v-B7QiN2kjC)E$_

9q4ou3_^%q+L@V-Os0

作者:zzxxbb112
时间:2011/11/29 版权所有,侵权必究。51Testing软件测试网,j#Bv z.`jh_

出处:http://blog.csdn.net/zzxxbb112

3o6A3p1Z`E051Testing软件测试网,`Q#H8E#e4wx$eG

dd,D Dse0 相信很多有经验的自动化测试人员都知道虚拟对象是QTP工具提供的一个可以识别任意测试对象的一种识别方式,但是此种识别方式的缺点很明显,就是需要通过坐标来映射一个区域为虚拟的测试封装对象,并且它还有个最致命的缺点,就是在使用了虚拟对象的测试脚本移植的过程中需要把虚拟对象库文件也一起拷贝到运行环境中,因此我们往往强烈不推荐大家使用虚拟对象这种方式。而今天这一讲主要就是让大家摆脱这种移植时的问题,直接使用描述性编程的方式来进行,虽然我本人不太喜欢描述性编程,原因相信有经验的朋友也知道,但是一方面是移植原因,另一方面是由于虚拟对象库中的对象属性在QTP中的隐藏的,我们并无法对其进行编辑,因此描述性编程在此时就成为最佳的识别方式,那么说了那么多接下来就来看一个实际例子。(对于虚拟对象的普通使用方式这里就不细说了,网上随处都可以找到)

E'paen3[,P M:U051Testing软件测试网K#P*b5b e9RPcL

51Testing软件测试网"H9_OK)a D

H'N4?W"`l0

{ t`FTU0 这里使用本博客来作为实例操作,首先把本博客左边的赵旭斌的头像照片抓取到对象库中,接下来要做的就是把此对象映射成虚拟按钮。51Testing软件测试网 Tz w9V2?p(e

$G%j-Uc w051Testing软件测试网 _N E"d*U:EGL3pP

'获取需要映射的对象
Set imageButton = _
Browser("iQuickTest 领先技术研究专栏 -"). _
Page("iQuickTest 领先技术研究专栏 -").Image("1_zzxxbb112")

'描述需要映射的对象区域坐标以及宽和高
Set imageVoBtn = description.Create
imageVoBtn("x").value = imageButton.GetROProperty("x")
imageVoBtn("y").value = imageButton.GetROProperty("y")
imageVoBtn("height").value = imageButton.GetROProperty("height")
imageVoBtn("width").value = imageButton.GetROProperty("width")

'高亮虚拟按钮
Browser("iQuickTest 领先技术研究专栏 -").VirtualButton(imageVoBtn).highlight
51Testing软件测试网v7q ^Tp$Kxy
分析:51Testing软件测试网"dZdsK"Y"GW4j1BC

LK!] A+y+C1c0

+meW-kAF0 从以上代码可以看到我们通过GetROProperty方式动态获取到对象的x,y,height,width四个关键描述属性,并利用描述性编程的方式把此对象描述出来,最后放入虚拟封装对象中,通过highlight方式高亮出来。51Testing软件测试网OU4X az `n;\p

51Testing软件测试网/|d)V?)lSDB


N4t;JsF6Cgu?0
51Testing软件测试网M*l q;M$Y8^*K t

q1H2V8S:t#L-u,E0执行结果:

6Lr R3?6h+F#L;n051Testing软件测试网]-j1FGgF-x:[{ j(N

可以看到图片被高亮出来了,其实这四个属性可以任意进行定制区域,只要在屏幕范围内,都可以进行高亮。你不妨可以试试。

M#n`#r|\051Testing软件测试网-B5[8ZS Q[@+|*u

51Testing软件测试网 o.p:ih3?

p {9V M pZ}V |)D051Testing软件测试网_N6ytC8ES|!@?S

当然你也可以对此对象进行点击操作:

s-y2^-Sh6W051Testing软件测试网2vC3](N-[ n y%[a

Y0f9N?O^O6v7V0
'点击虚拟按钮
Browser("iQuickTest 领先技术研究专栏 -").VirtualButton(imageVoBtn).Click

/d{-dL;v,]051Testing软件测试网:s0J XtVVi

S~&EC/D+S051Testing软件测试网%iDx1kY$E

那么来分析一下如何才能得知每一种虚拟对象类型的关键描述属性呢,其实很简单,了解我讲座风格的朋友一定知道,没错regedit出场了。51Testing软件测试网ZuP~y_lIE \

51Testing软件测试网'b'Lh+}Wm

进入到注册表regedit后,HKCU --> Software --> Mercury Interactive --> QuickTest Professional --> micTest --> Test Objects -->

9y(F0PIA\(|7^051Testing软件测试网8V]lY^P X


u2YBU5S)p!u0

/X$i } ~UzB051Testing软件测试网[)nf}r^ C b{

此处可以看到所有的虚拟对象目录,那么我们接下来展开看看,进入到Description项下

*] u.\C:}0]A z!iB051Testing软件测试网l4u wL;pN+z

VirtualButton的关键属性

jN8?w3iYq;@m3~0

LaV u4s8~q;h0
/[9ZV'z Ue x0

wM.d:K W7r%jG,M0

C7s'[&P A0可以看到右边一共有5个属性,其中除了vo_all_branch属性之外(笔者也不知道是派什么用的,要问qtp开发人员了),另外四个属性在上一个例子中我们已经使用过了,那么其实这里就是每种虚拟对象的关键属性了。51Testing软件测试网7XKnE,_o1~[`

51Testing软件测试网*C-}/ak.mnp6p&t(F


*e_](O[%l051Testing软件测试网v:e/F;o*NiT CB1k

p K ^}i/{:_2e$r0VirtualList的关键属性

^Im#s7g4r"~:o)rh#FZ0

hBw:YM)L5K0
W*@N/J? mcU051Testing软件测试网(A6i.m*l^0K)s |

6J tDV` h7|F5F"O0可以看到VirtualList比之前的button多了一个rows,也就是行数,那么我们只需要加入行数即可,注意list方式需要计算好高度。51Testing软件测试网\u!t&pT8b/KH_

&On0^\ w4p}0b9`0
g}~2E4^;N0

7FVz1R!N!T0Yu2D051Testing软件测试网 U6X7pg8x_q2y

VirtualTable的关键属性51Testing软件测试网7{ YqJ7_7{
51Testing软件测试网(KK^8gh WBI(kS

Pe~-j8E,YeX0
?I(UpK!sz%iY G0

G#Z2h8I&df@kc051Testing软件测试网J/u!k7v%X'X

表格对象需要添加行数rows,列数columns

H A*rG"]kLIHg0

^|B3s @WNe_051Testing软件测试网&R$h%Q^u
51Testing软件测试网H!S;IYU3qP

z,qg!se5YXU0总结:51Testing软件测试网aBj1AF^

w d6nTh;q:l#G0 如果你的被测应用只有很少量的无法识别对象,那么你不妨可以试试虚拟对象方式,插件扩展毕竟需要花很大的代价,并且需要一定的开发经验,当然如果存在较多的无法识别对象,还是强烈推荐插件扩展开发方式来进行识别。

(M?b;I[,f(y0

aE'l _K051Testing软件测试网*k2V/GR@3n

%_ZKV/k(g'RGc0

;~v7}8\_e5xMC0

51Testing软件测试网,Sx1C BRG w+kx,]

51Testing软件测试网|Y^}qn5[eB/}

51Testing软件测试网0o%k%za_ y

&r/@ u&V iZZ$D051Testing软件测试网4L#Zu#G.H"A6X

 Rss订阅IQuickTest关于如何订阅?
F#vvIC0

5H/zUg.N b0

SF#RY"VMb(o0==================================

VX8A3b` v051Testing软件测试网-a*X;H(j*n_ W

w]*i3l)Uzo A051Testing软件测试网 I6](]J.De@"V


Z'V li0`du;b6W0

!D u*P0W?.]Xj0

,_ ~(U-wJRR0RH$V0IQuickTest自动化测试培训开始预定(详情点击)51Testing软件测试网R4sTk X Hsw-{ ['Z

51Testing软件测试网&BSCO T h'N'kF


*@0k1nh1mt RL0

3vW ^5Y3n;K SH0

f0MD0p9?.y0
q ]_+E2c!|{0

6RR:Pw Ec/QR|K0

^`B m|;~KT2e0
lfG6\;JqOh,g'h0
51Testing软件测试网[{1o+hw(x\A&C

作者:zzxxbb112 发表于2011-11-29 16:42:12 原文链接
阅读:1361 评论:3 查看评论
51Testing软件测试网Er3NtF| zWS
51Testing软件测试网/O[ A'@Ajd0nRE
Link URL: http://blog.csdn.net/zzxxbb112/article/details/7023754

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 32332
  • 日志数: 49
  • 建立时间: 2009-10-17
  • 更新时间: 2011-10-31

RSS订阅

Open Toolbar