QTP参数化实例

上一篇 / 下一篇  2006-12-04 12:27:00 / 个人分类:QTP

51Testing软件测试网2C|7U$s(Y

     在自动化测试当中,有时为了模拟真实效果,或者为了达到某种操作效果,那么势必要把脚本参数化.那么一般的针对输入值的参数化或者select选择值的参数化,操作也比较容易,这里也不多说了,直接把固定值换成变量就可以.鉴于上个星期有两个朋友都问到了针对某个对象的参数化,那么就来探讨一下针对对象的参数化.51Testing软件测试网'yk[gR,[Ap

51Testing软件测试网"Wq? u!? GbR O

例:
6C;``1\1ze6Pm0Browser("软件测试专业网站:51Testing软件测试网").Page("百度——全球最大中文搜索引擎").WebEdit("wd").Set "111"51Testing软件测试网&h1jY{H4]3`oV*B*z
Browser("软件测试专业网站:51Testing软件测试网").Page("百度——全球最大中文搜索引擎").WebButton("百度搜索").Click51Testing软件测试网&^KD M2w9\?!r'z
Browser("软件测试专业网站:51Testing软件测试网").Page("百度搜索_111").Link("菜111 的QQ家园").Click

&HBv;~ yC2U2VQ}051Testing软件测试网+f7fbG&vu'e)T1e

    在这个例子中,我们的目的是把这个link对象给参数化掉.这里直接把对象名参数化掉,肯定是不行的.因为我们知道QTP识别对象依靠是这个对象在对象库中的属性和属性值.而如果我们这里参数化成一个新的对象名,那么这个对象名是不存在于对象库中的,那么势必会造成在回放过程中不通过,报对象库中没有这个对象的错误.所以我第一个想到的是先让这个link对象脱离对象库,让它不用通过对象库就能识别这个link对象,那么接下来只要直接换成变量就成功了.相信大家都看到过帮助里对描述性编程的说明,通过把脚本改写成描述性编程的形式,可以让QTP在执行脚本时不要再去依赖对象库.直接把一些付有特征的属性和属性值放到脚本中,就能执行相应的操作.所以我们可以先把上面脚本改写成:51Testing软件测试网+M]:aKFKa6d;Nc

51Testing软件测试网 F?"WPdo

Browser("软件测试专业网站:51Testing软件测试网").Page("百度——全球最大中文搜索引擎").WebEdit("wd").Set "111"
&_6xa7R-R8|W!KO v'jUH0Browser("软件测试专业网站:51Testing软件测试网").Page("百度——全球最大中文搜索引擎").WebButton("百度搜索").Click
Jr XS%j} u h3yt0Browser("软件测试专业网站:51Testing软件测试网").Page("百度搜索_111").Link("text:=菜111 的QQ家园").Click51Testing软件测试网y XV7C!c]7Z:bm"b

8Mp|p+L+C:Ev8p&x0    这样表示后,再把这个对象在对象库中的记录给删掉.重新运行脚本后,脚本依旧能正确执行.那么接下来的操作就方便了,直接把相应的固值换成一个变量即可.我们来这么操作:51Testing软件测试网'b DM o{!Z[rR-I

51Testing软件测试网d'aZz"IK9]0yF

Dim i51Testing软件测试网a:a?#Qw'XL
i="菜111 的QQ家园"

PFP O7?}6h?0Browser("软件测试专业网站:51Testing软件测试网").Page("百度——全球最大中文搜索引擎").WebEdit("wd").Set "111"
!C5x5k'f@8m0Browser("软件测试专业网站:51Testing软件测试网").Page("百度——全球最大中文搜索引擎").WebButton("百度搜索").Click51Testing软件测试网 ]/lH8VY`Lc*B
Browser("软件测试专业网站:51Testing软件测试网").Page("百度搜索_111").Link("text:="&i).Click

z2d.d3r1T051Testing软件测试网 NuW2R!J:YED

    到这里整个操作过程就完成了.其实这只是一个方法,相信大家肯定还有其他方法,希望大家能留言说说自己的看法.当然如果这个对象的对象名有一定规律的话,我们还可以考虑运用正则表达式的方法,也可以达到预期的效果.51Testing软件测试网 \/xQ"~(r m!O]


TAG: QTP

引用 删除 熊猫烧香1   /   2016-05-04 14:11:41
5
引用 删除 lei128040   /   2016-04-22 14:51:15
这不是还是要赋值吗,感觉没什么区别
xiaoshi_2011的个人空间 引用 删除 xiaoshi_2011   /   2015-04-03 15:17:09
5
燕翔的个人空间 引用 删除 燕翔   /   2015-03-11 13:12:28
5
人生test的个人空间 引用 删除 人生test   /   2014-11-15 18:12:25
1
kaytia的个人空间 引用 删除 kaytia   /   2014-09-02 15:23:57
1
引用 删除 654363870   /   2014-07-23 17:30:18
5
引用 删除 connie0807   /   2012-12-25 14:46:25
引用 删除 connie0807   /   2012-12-25 14:45:43
1
sunboy198423的个人空间 引用 删除 sunboy198423   /   2012-12-25 14:30:34
QTP中编写如下脚本:
Dim i
i="菜111 的QQ家园"
Browser("软件测试专业网站:51Testing软件测试网").Page("百度搜索_111").Link("text:="&i).Click

运行报如下错误:
The "软件测试专业网站:51Testing软件测试网"  object was not found in the Object Repository.
Check the Object Repository to confirm that the object exists or to find the correct name for the object.
引用 删除 ashly521   /   2012-12-21 17:28:37
说的很明白,有用
xiaomeizi698的个人空间 引用 删除 xiaomeizi698   /   2012-08-10 11:25:04
5
wen818的个人空间 引用 删除 wen818   /   2012-07-27 15:28:15
5
引用 删除 734061418   /   2011-11-18 11:51:02
1
guo.ping的个人空间 引用 删除 guo.ping   /   2011-11-11 09:14:07
喜洋洋8902的个人空间 引用 删除 喜洋洋8902   /   2011-11-09 10:15:20
引用 删除 734061418   /   2011-11-04 17:31:40
为什么要写成:Link("text:="&i).
goooo1985的个人空间 引用 删除 goooo1985   /   2011-07-28 15:21:31
3
csj1989的个人空间 引用 删除 csj1989   /   2011-06-08 14:26:34
顶一下,谢谢楼 主
引用 删除 fangxin   /   2011-05-13 11:02:09
这个用法不错啊,只是还希望介绍下关键字text,不好意识,是新手的说
 

评分:0

我来说两句

日历

« 2024-03-26  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

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

RSS订阅

Open Toolbar