qtp:描述性编程

描述性编程的两种方式(对象可以不用添加到对象仓库中)
1、一种是直接描述,即对象名(“属性名:=属性值”),从父层一直描述到最终想要操作的对象
例如:browser(“micclass:=browser”).page(“micclass:=page”).webedit(“name:=wd”).set“qtp自动化”
注释:子对象描述,父对象和祖父对象可以不用描述也是对的
如果父对象和祖父对象都进行描述了,子对象没有进行描述,那么这是错误的

2、另一种是先创建properties集合,然后创建properties对象,创建完毕后,就可以在运行中在properties对象中添加、编辑、删除或检索属性和属性值了
提示:第二种描述性编程一定要释放所有设置的对象,规则为最后设置的最先释放
例如: set objbrowser=description.create()
objbbrowser(“micclass”).value=“browser”
set objpage=description.create()
objpage(“micclass”).value=“page”

set objwebedit=description。create()
objwebedit(“html tag”).value=“INPUT”
objwebedit(“name”).value=“wd”

browser(objbrowser).page(objpage).webedit(objwebedit).set“自动化测试”

‘释放对象..............................................................
set objwebedit=nothing
set objpage=nothing
set objbrowser=nothing

总结:
描述性编程可描述的属性都是封装接口属性,不是自身接口属性
第一种方法更适合应用于普通的脚本中,挡在对象库编程中无法完成任务的时候,描述性编程临时加上一句,这样显得更加直观,代码数量
也更加少。但是明显的缺陷就是无法做到复用
第二种方法更适合应用于基本框架的脚本中,从表象上看虽然比前者会多谢几句代码,但是这种方式的复用性远远优于前者


同时操作浏览器的多个窗口时:
browser("creationtime:=0").navigate "http://www.51testing.com"
browser("creationtime:=1").navigate"http://www.baidu.com"

使用browser(“creationtime:=-1”)的时候,表明当前有且仅有一个浏览器窗口,
当只需要一个浏览器的时候,可以使用这个方法来作为判断依据,脚本如下:
objbrowser=browser(“creationtime:=-1”).exist
if objbrowser then
msgbox“只存在一个浏览器窗口”
else
msgbox“存在0个或多个浏览器窗口”
end if

例子:添加几百个输入框

’打开网站网页
systemutil.run“c:\program files\internet explorer\iexplore.exe”,“http://www.baidu.com/gaoji/advanced.html”

‘描述对象 -- webedit
set all_oedit=description.create()
all_oedit("micclass").value="webedit"
‘为webedit找父对象和祖父对象,并将所有对象“包装”在一起
set all|_oedits=browser("micclass:=browser").page("micclass:=page").childobjects(all_oedit)

'遍历页面中的webedit对象,找到一个就输一串指定的字符串
for i=0 to all_oedits.count-1
set oedit =all_oedits.item(i)
oedit.set“qtp自动化测试”
next
’最后释放所有设置的对象
set oedit=nothing
set all_oedits=nothing
set all_oedit=nothing













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值