有付出必有回报。
有得必有失。
有酸甜苦辣的生活才是真正的生活。
我愿意像蜡烛一样发光发热,来照亮我的人生征途!!
日志上的资料都是我个人喜欢的或是对自己有用的,当然有很多是从别人处转载来的,但是都是为了共同进步!希望和大家一起分享!
牛年让自己更"牛"一点!!!
QTP实践心得
上一篇 /
下一篇 2009-07-07 17:56:29
/ 个人分类:QTP
最近一直在闷头学习QTP,同时结合现在手头的项目做实践。毕竟实践才能出真知嘛。在边学习边实践的过程中,还是有一些心得的。结合在论坛上看到的一些帖子,也把自己的一些心得写出来,以供以后参考。
1.两种方式随机选择weblist中的选项
方法1,利用对象自身接口。
listlength=Browser("Browser").Page("Page").WebList("xx").Object.length
randomize
selectlist=int(listlength*rnd+1)
'msgbox selectlist
Browser("Browser").Page("Page").WebList("xx").Select "#"&selectlist
方法2,利用动态运行时的属性。
liststr=Browser("Browser").Page("Page").WebList("xx").GetROProperty("all items")
'msgbox liststr
'mylist=split(liststr,";")
'i=Ubound(mylist)
'msgbox i
'j=randomnumber(1,i)
'Browser("Browser").Page("Page").WebList("xx").Select mylist(j)
方法3,今天突然想起来的,利用items count 属性同样可以,同时比上面的方法简单。
i=Browser("Browser").Page("Page").WebList("xx").GetROProperty("items count")
j=randomnumber(1,i)
Browser("Browser").Page("Page").WebList("xx").Select mylist(j)
2.当某个页面中有许多相同属性的对象,而你又不知道是哪些时,可以用childobject找到所有这些对象,同时利用highlight方法遍历显示这些对象。这样就可以看到相同属性的对象是哪些了。
Set desc=Description.Create()
odesc("micclass").value="WebList"
Set lists=Browser("Browser").Page("Page").ChildObjects(odesc)
i=lists.count()
msgbox i
For j=0 to i-1
lists(j).highlight
Next
3.QTP9.5版本。我把好几个action的对象合并成一个大的共享对象库后,在QTP脚本中去加载时出现问题:
按照一般的做法是这样:
Set
ObjRepository = CreateObject("Mercury.ObjectRepositoryUtil")
ObjRepository.Load ".tsr文件的绝对路径"
用这种方法的时候,QTP提示我并没有把对象库加载进来。不知道是为什么。
但是我用其他两种方法能解决这个问题:
1.用associate repository的方法可以把该.tsr关联起来。各个action中的对象也都能正常识别。
2.用RepositoriesCollection.Add(".tsr的路径")这种方法可以动态加载。
相关阅读:
- 使用QTP统计页面加载时间 (fishy, 2009-6-24)
- QTP基础知识(一) (chop123, 2009-6-26)
- 最新关键字+数据联合驱动框架结构 (fishy, 2009-6-29)
- WatiN与QTP的选择 (aslandhu, 2009-6-29)
- QTP视频总汇 (zxy_yocky, 2009-7-01)
- 不放过QTP的Call关键字 (fishy, 2009-7-01)
- QTP六脉神剑之调用Java程序 (fishy, 2009-7-02)
- 使用QTP需要学会变通 (fishy, 2009-7-03)
- QTP脚本如何修改编辑框的内容 (fishy, 2009-7-06)
- 当WatiN爱上QTP(一) (aslandhu, 2009-7-07)
收藏
举报
TAG:
QTP
weblist
对象库