描述性程序对象属性值不识别的问题

 

在描述性编程中,一般选取一两个可唯一识别对象的属性来描述;

在自己编写脚本的过程认为有几点是需要注意的:

1、填写属性值时要用add objs 将对象添加到对象库中然后再复制属性值到脚本中,不要直接自己写,有时看起来一样,但两个字中间的空格可能不一样,

       符号中英文全角半角区分等;

2、当直接复制的属性值放到脚本里执行时仍然无法识别时,就看一看属性值中是否有中文符,如果有要加上转义字符;

      例如:webelement对象的innertext值为“非营业客车(企业)”

                   直接写成WebElement("innertext:=非营业客车(企业)")是无法识别的

                  要改为WebElement("innertext:=非营业客车\(企业\)")

 

browser、page一般使用title或URL,WebEdit一般使用name,WebButton一般使用name或text,Link一般用text,当页面上多个相同类对象时就加上一个index来做区别。

普通的标准对象用一两个通用属性即可识别,但是部分自定义的对象就要想想办法了,一般web页面里对象无法识别时QTP就会将其识别为WebElement,普通的WebElement

用innertext+html id/html tag 即可,但有的WebElement这些属性都是空,或者就是非空写了也不能识别,这时有两个方法可以尝试一下:

1、尝试使用source_index这个属性来识别

       先用QTP录制一下该对象,然后用GetRoProperty获得source_index属性值,再将属性和值写入到脚本中;

       注:该方法可以暂时解决WebElement无法识别的问题,但是该属性值并不是永远不变的,这点要注意,如果以前可以运行  

                的脚本不能执行了,可先查看一下是不是该值有变化了。  

2、用其父对象来间接操作该子对象;

      例如WebElement是写在一个webtable里的,可以先将webtable识别出来,再通过childobjects和childitem来识别,详细见《QTP获取WEBTABLE单无格中的对象》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值