QTP参数化实例(续)

上一篇 / 下一篇  2007-01-16 16:14:21 / 个人分类:QTP

51Testing软件测试网4it+^m'?3d

     在<QTP参数化实例>一文中,讲到了运用描述性编程来进行参数化.今天我们利用另一种方法来实现类似的参数化.在不更改对象库的基础上上,运用SetTOProperty函数方法来达到同样的效果.

1L8LDGvv!s051Testing软件测试网4v6t*|zV3{f

例:

$vV$ejr^-V q,ze^ J0

9q*WaRTX?0  录制打开百度搜索主页,输入11,点击搜索按纽,进入搜索后的页面,随便打开其中一个连接,然后关闭网页.录制脚本如下:51Testing软件测试网 JQ] c2m

51Testing软件测试网;Y h1I&BHk/zE

Browser("百度——全球最大中文搜索引擎").Page("百度——全球最大中文搜索引擎").WebEdit("wd").Set "11"51Testing软件测试网!{,I1j\H8^ka
Browser("百度——全球最大中文搜索引擎").Page("百度——全球最大中文搜索引擎").WebButton("百度搜索").Click
Mk i:Zw Q"_[O0i g0Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").Click
9f u1p']1^d7Q8RX0Browser("CCTV.com").Page("CCTV.com").Sync
BH8Ve Uo1m0Browser("CCTV.com").Close
},Vt^"A*E I.E0Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Sync
:e'pM9sv*Ig;c0Browser("百度——全球最大中文搜索引擎").Close51Testing软件测试网,QQ@gxp0L

,ux6X5C;K.Wm%`0现在我想做的是,能测试搜索页面上的其他link打开是否正确.那么势必要把上面蓝色字体的部分给参数化.51Testing软件测试网D jK#E"xJ;t

51Testing软件测试网D;b5QpQ W

  首先我们要在蓝色字体这句代码上面增加一句话,如下:51Testing软件测试网:@EC*|6o M|_ _.i

)F;A*u9{FW9M%{4YVS0Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").SetTOProperty "属性","属性值"51Testing软件测试网\W;aFN'Y
Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").Click

Z%X/HjO)h|7u0Z0

O d;H/e:m~f0SetTOProperty方法能够在脚本运行中,设置对象的属性值.而QTP识别应用程序上的对象,完全是依靠对象库中的对象来识别的.所以只要对象库中的对象属性值变掉了,QTP操作的对象也不同了.通过对该Link对象,在对象库中属性及属性值的研究发现,启决定性作用的是该对象text属性.所以只要更改这个text属性,就能让QTP点击其他Link了.

EXfL u1fPxn.^H z051Testing软件测试网i$Ma7G*h D

  这里由于时间的关系,只做两个link的测试.继续修改脚本,变成如下:

So0OC |U|I!Z0

W0oqL[tQb0Dim i,b
"KaF Na S}\3l0Browser("百度——全球最大中文搜索引擎").Page("百度——全球最大中文搜索引擎").WebEdit("wd").Set "11"51Testing软件测试网}$O!k6l)U+m$z
Browser("百度——全球最大中文搜索引擎").Page("百度——全球最大中文搜索引擎").WebButton("百度搜索").Click
(Iz-G-?W!szzT0For i=1 to 251Testing软件测试网U O(|\.sXz} q
    Select Case i51Testing软件测试网4~.h)g&J8u;E"lL8]6HcTH
     Case 1 b="11弄-软件弄堂"
!T#I1i YLU/`H0M0    Case 2 b="CCTV.com"
8ym^+_'e wFqR-I S0   End Select51Testing软件测试网)_CL}~4{ D y'wt
    Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").SetTOProperty "text",b51Testing软件测试网"lJmi/_
    Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").Click
cM6G`*T \ M'S W0    Browser("CCTV.com").Page("CCTV.com").Sync
k0z*mcG1i vq_0    Browser("CCTV.com").Close51Testing软件测试网t0sQh3^2to6r+fc;V
Next
~5p1Bd)kr1KR0Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Sync
l^/}0b?0Browser("百度——全球最大中文搜索引擎").Close

A;T g ~0b*t0

j1b+c ^[}0h ] oL?0在我们脚本的对象库中是没有"11弄-软件弄堂",这个link对象的.让我们看看这样修改后,能不能通过两次循环,依次点击打开名为"11弄-软件弄堂"的连接,然后关闭.接着继续点击打开名为"CCTV.com"的连接,然后关闭.结果自然是通过的,我们通过对SetTOProperty方法的运用,同样达到了参数化的要求.51Testing软件测试网 B iS%I)p4Q In

51Testing软件测试网8i_.E|-?N4m

  如果大家想试试看的话,可以录制我们QTP自带的windows程序fight.其中这么一个WinRadioButton对象.如下图:51Testing软件测试网i!A3n'H;f.qa z:N;U|

51Testing软件测试网)i y7V7tO7]#r:W[Z

51Testing软件测试网1]M:f KX Cu ca

51Testing软件测试网%L6q1oEGBdbB

对于这个对象的操作,录出来来的脚本是这样的.51Testing软件测试网 zOb)d!z O8sJuf

1H&BN9|(@'?.f0Window("Flight Reservation").WinRadioButton("Business").Set51Testing软件测试网(N+Eg hk7v4B

51Testing软件测试网#~4X;BE7c

粗看这个对象要实现参数化,不是很容易.但其实也方便实现.运用上面的方法,试试吧!51Testing软件测试网4m$a r#z ]Bq


TAG: QTP

123new-comer的个人空间 引用 删除 123new-comer   /   2012-07-23 12:02:52
1
引用 删除 tsgwf   /   2012-02-04 11:10:50
学习了,谢谢!
huiguiziran111的个人空间 引用 删除 huiguiziran111   /   2010-02-03 17:16:58
Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").SetTOProperty "text",b
(QUQ9?%p;F1wz7s:CEc*i111433    Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").Click
这句没有正确参数化吧,我试了,我的就死在哪里了1111
amy_840312的个人空间 引用 删除 amy_840312   /   2009-08-04 15:26:42
请问为什么在有其他网页打开的情况下上述代码就不能执行了呢?
测试人生 引用 删除 jinwei6078   /   2009-03-10 15:59:51
Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").SetTOProperty "text",b
(QUQ9?%p;F1wz7s:CEc*i111433    Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").Click
这句没有正确参数化吧,我试了怎么不循环啊
zcq的个人空间 引用 删除 zcq   /   2009-02-11 11:02:11
Browser("CCTV.com").Page("CCTV.com").Sync
Browser("CCTV.com").Close

这部分也需要相应的做参数化吧?
引用 删除 lutingting   /   2008-05-27 17:04:37
很好的经验,学习了
lele330808的个人空间 引用 删除 lele330808   /   2008-02-18 15:34:25
非常感谢!
 

评分:0

我来说两句

Open Toolbar