51Testing软件测试论坛

标题: 计算对象的总数 [打印本页]

作者: zhuyuancan    时间: 2007-6-25 16:50
标题: 计算对象的总数
在对象库中有n个名称相同的对象,但其index是不同的,现在我想知道此对象的总数为多少个?,,,用什么函数可以用呢?
作者: winfood    时间: 2007-6-25 17:07
LZ提过类似的问题,用描述性编程的Description对象来实现,具体方法搜索一下论坛或者QTP帮助。
作者: zhuyuancan    时间: 2007-6-25 17:16
望2l的能简单的给描述一下怎么实现啊啊!!我知道描述性语言的用法,但是就上面这个问题偶不知道怎么解决啊!!!3Q
作者: winfood    时间: 2007-6-26 10:08
本来以为论坛上有现成的帖子详细解释Description,昨天搜索了一下说的都不太清楚。看来你要多看QTP帮助才行。
下边的例子取自我的QTP脚本,用来取一个WebTable中的Image对象包含的链接Href:

  1. Dim objDesc, objImgs
  2. Set objDesc = Description.Create()
  3. objDesc("micclass").Value = "Image"
  4. objDesc("file name").Value = "actions.gif"
  5. Set objImgs = Browser("Browser").Page("Enterprise").WebTable("Detail View").ChildObjects(objDesc)
  6. Dim intCount, i, strHref, strHref
  7. intCount = objImgs.Count - 1
  8. For i = 0 To intCount
  9.         strHref = objImgs(i).GetROProperty("href")
  10. Next
复制代码

其中的关键是Description对象的创建
Set objDesc = Description.Create()

对象的属性-值集合,其实就是人为设定的QTP用来识别某类对象的属性和值特征。这个例子里面就是
objDesc("micclass").Value = "Image" '对象类型为Image
objDesc("file name").Value = "actions.gif" '对象使用的文件名为actions.gif
这些属性-值都可以用SPY工具得到

最后加上ChildObjects方法
Set objImgs = Browser("Browser").Page("Enterprise").WebTable("Detail View").ChildObjects(objDesc)
将所有符合Description对象描述的特征的那些对象从WebTable("Detail View")里面取出来。objImgs即包含在WebTable中的所有符合Description描述的所有对象集合。

这些方法全部包含在QTP帮助文件中,在QTP中编写脚本的时候鼠标双击一个关键词,比如description然后按F1就可以看到相应的帮助。
作者: zhuyuancan    时间: 2007-6-26 14:27
感谢!!学习中.......
作者: zhuyuancan    时间: 2007-6-26 16:53
再感谢一次!!贼旮旯好用!!!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2