说一说QTP描述编程中的WebElement

上一篇 / 下一篇  2015-05-16 14:17:11 / 个人分类:QTP/UFT

通常使用如下方法来识别输入框,

set po=browser("creationtime:=0").page("micclass:=page") 
set desc=description.creatre()
odesc("micclass").value="WebEdit"
odesc("html tag").value="input"
…………

但,输入框的html tag除了input其实还有textarea等
description的item属性其实是支持正则表达式的,默认开关也是打开的
odesc.Item.RegularExpression=true
因此,可以修改成:

odesc("micclass").value="WebEdit"
odesc.Item.RegularExpression=true
odesc("html tag").value="input|textarea",
这样就支持文本域的输入了

但在一些js框架中,输入框的tag就不至于这些了,可能就是div,而且用qtp识别出来就是webelement,而并非webedit,我们知道,webedit其实也属于webelement,可以修改成这样

set desc=description.creatre()
‘odesc.Item.RegularExpression=true
odesc("micclass").value="WebElement"  '区分大小写,其他类型则不区分,
odesc("html tag").value="input|textarea|div"

完整脚本
‘文本框输入
function sendkeys(propertyname,propertyvalue,value)
      set po=browser("creationtime:=0").page("micclass:=page") 
      ‘po也可以写为方法的参数
      set desc=description.creatre()
     odesc("micclass").value="WebElement"
      odesc("html tag").value="input|textarea|div"   
      '把所需要的tag标记都可以写进去
      odesc(propertyname).value=propertyvalue
     set child=po.childobject(odesc)
      ochild(0).set value
      ’多个元素时,index也可以作为参数
end function

这样一来,只需要封装操作类型,而对于元素的类型,则都可以用WebElement来代替,然后html tag则使用正则表达式符号“|”来匹配任意tag的其中的一个
调用:
call sendkeys("xpath","//input[@name='username']","test001")

可以看出,所有网页元素,它的micclass其实都可以写成webelement。
另,qtp的对象侦测器识别不出来的web元素,或者属性,可以借用ie的F12开发人员工具来查看都可以用此方法来完成对元素的操作

]0[vP#}+Crf0

TAG:

世人笑我太疯癫,我笑世人笑我癫 引用 删除 xtyywh0810   /   2016-12-27 16:17:02
5
 

评分:0

我来说两句

Open Toolbar