QTP 获取WebTable单元格中的对象

上一篇 / 下一篇  2010-12-13 12:15:45 / 个人分类:QTP

背景:所写的QTP脚本都是脱离了对象库的描述性编程
最近在对一个WebTable的数据验证的脚本中,该WebTable中的所有对象都是WebElement对象,没有name属性,唯一的属性就是innertext,而该属性值就是将要验证的数据值,而且该属性对不同的记录值是不同的。所以在对象描述时不能使用该属性,无法定位到该对象。

解决方法:webelement一般可用它父对象的孩子对象的集合访问到该对象。利用childobjects和childitem方法读取WebTable中任意单元格的对象。

一般情况下,使用Childitem方法是较好的选择:
browser("title:=*").page("title:=*").webtable("name:=*").childitem(i,j,"WebElement",0)即可。
但在执行该语句时一直报错。
用browser("title:=*").page("title:=*").webtable("name:=*").exist 检验其返回值为TRUE
其错误原因一直未知。

使用childobjects方法,输出表中的所有对象及各对象的下标,再看所要对象的下标是多少:
set  bj= Browser("title:=*").Page("name:=*").WebTable("index:=3","html id:=")
Set Desc = Description.Create()
    oDesc("micclass").Value ="WebElement"
    Set L =obj.ChildObjects(oDesc)
for i=1 to L.Count()
print L(i).GetROProperty("innertext")&i
next

chiditem是利用行列二维坐标来定位对象,便于访问表中某一对象或遍历整个表。而childobjects输出的结果具有表中的层次结构,首先将整表的对象全部输出,然后是表的第一行,其次是第一行的第一个对象依此类推。



TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-19  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 3381
  • 日志数: 4
  • 建立时间: 2010-11-18
  • 更新时间: 2010-12-13

RSS订阅

Open Toolbar