[转]QTP参数化实例(续)

上一篇 / 下一篇  2007-08-12 12:01:16 / 个人分类:测试工具

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

例:

  录制打开百度搜索主页,输入11,点击搜索按纽,进入搜索后的页面,随便打开其中一个连接,然后关闭网页.录制脚本如下:

Browser("百度——全球最大中文搜索引擎").Page("百度——全球最大中文搜索引擎").WebEdit("wd").Set "11"51Testing软件测试网 hO^.t rIg
Browser("百度——全球最大中文搜索引擎").Page("百度——全球最大中文搜索引擎").WebButton("百度搜索").Click
5|p-r @3ON115299Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").Click
Cy&q1NiYC p115299Browser("CCTV.com").Page("CCTV.com").Sync
'G4Db zXJ q hQV115299Browser("CCTV.com").Close51Testing软件测试网V2F LU^9c `;ls*I R B
Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Sync
:U\([Q ~TH115299Browser("百度——全球最大中文搜索引擎").Close

现在我想做的是,能测试搜索页面上的其他link打开是否正确.那么势必要把上面蓝色字体的部分给参数化.

  首先我们要在蓝色字体这句代码上面增加一句话,如下:

Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").SetTOProperty "属性","属性值"51Testing软件测试网7gnp8\?.V5S
Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").Click

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

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

Dim i,b
yTA q6^&W A|115299Browser("百度——全球最大中文搜索引擎").Page("百度——全球最大中文搜索引擎").WebEdit("wd").Set "11"
4m&a+~'E F SM o/fp,D115299Browser("百度——全球最大中文搜索引擎").Page("百度——全球最大中文搜索引擎").WebButton("百度搜索").Click51Testing软件测试网M0rhH6w[
For i=1 to 2
EC8r5@ G!L.X'kCx115299    Select Case i51Testing软件测试网0Uc~^c-W
     Case 1 b="11弄-软件弄堂"
l5J\,j M[V/u115299    Case 2 b="CCTV.com"
y"VC4w fO115299   End Select51Testing软件测试网Ny:C8fW c
    Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").SetTOProperty "text",b51Testing软件测试网 V8M,?Cr7h
    Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Link("CCTV.com").Click
wq!Bmv?*y7F115299    Browser("CCTV.com").Page("CCTV.com").Sync
)^%o*S1O P'xO @J115299    Browser("CCTV.com").Close
2q$A DJi115299Next
9Mzt*Z;?!z0a115299Browser("百度——全球最大中文搜索引擎").Page("百度搜索_11").Sync
-PEs c J115299Browser("百度——全球最大中文搜索引擎").Close

在我们脚本的对象库中是没有"11弄-软件弄堂",这个link对象的.让我们看看这样修改后,能不能通过两次循环,依次点击打开名为"11弄-软件弄堂"的连接,然后关闭.接着继续点击打开名为"CCTV.com"的连接,然后关闭.结果自然是通过的,我们通过对SetTOProperty方法的运用,同样达到了参数化的要求.

  如果大家想试试看的话,可以录制我们QTP自带的windows程序fight.其中这么一个WinRadioButton对象.如下图:

对于这个对象的操作,录出来来的脚本是这样的.

Window("Flight Reservation").WinRadioButton("Business").Set

粗看这个对象要实现参数化,不是很容易.但其实也方便实现.运用上面的方法,试试吧!


TAG: 测试工具

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-08  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 2307
  • 日志数: 4
  • 建立时间: 2007-08-12
  • 更新时间: 2007-08-18

RSS订阅

Open Toolbar