QTP自动化测试培训:描述编程之WebElement
通过描述性编程技术,来描述出来输入框:
set po=browser("creationtime:=0").page("micclass:=page")
set desc=description.creatre()
odesc("micclass").value="WebEdit"
odesc("html tag").value="input"
…………
在html中输入框的html tag除了input其实还有textarea等
<textarea rows="3" cols="20"> 内容.........内容 </textarea>
description的item属性支持正则表达式,默认开关打开
odesc.Item.RegularExpression=true
因此,可以修改成:
odesc("micclass").value="WebEdit"
odesc.Item.RegularExpression=true
odesc("html tag").value="input|textarea",
这样就支持input和testarea两种文本框的形式
但在一些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元素,可以通过其他的辅助工具来帮助来识别