QTP 获取WebTable单元格中的对象

背景:所写的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  obj= Browser("title:=*").Page("name:=*").WebTable("index:=3","html id:=")
Set oDesc = 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输出的结果具有表中的层次结构,首先将整表的对象全部输出,然后是表的第一行,其次是第一行的第一个对象依此类推。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值