51Testing软件测试论坛

标题: qtp描述性编程应该取哪个属性? [打印本页]

作者: zzfhncn    时间: 2008-7-8 12:33
标题: qtp描述性编程应该取哪个属性?
systemutil.Run"iexplore","http://125.65.113.228/InviteCard.aspx"
Browser("name:=注册账号").page("title:=注册账号").webedit("name:=txtECardNum").Set "54545"
Browser("name:=注册账号").page("title:=注册账号").webedit("html id:=txtECardNum").Set "540000545"
Browser("name:=注册账号").page("title:=注册账号").webedit("id:=txtECardNum").Set "56464"

SPY抓取对象属性如下:
RO
        id          txtECardNum
        name    txtECardNum
TO   
        html id   txtECardNum
        name    txtECardNum

上面那段代码,webedit("id:=txtECardNum").Set "56464" 是不行的,会报错。前2句都可以。
描述性编程时,应该取哪个属性呢?为什么?
作者: zzfhncn    时间: 2008-7-8 13:44
研究了下,qtp取的是TO的属性,但为什么不能用RO的属性?(如:id:=txtECardNum)原因应该就是RO与TO的区别了。不知道是否正确,请高手指教。
作者: 陈能技    时间: 2008-7-8 14:33
可以在Object Identification中添加更多的TO属性。
作者: 假装不在    时间: 2008-7-8 15:19
和楼上说的差不多。
作者: zzfhncn    时间: 2008-7-8 16:59
感谢关注!
作者: mstiunicon    时间: 2008-7-8 17:05
如果弹出页不太多的话,建议:
browser 用 creationtime来识别
page 用index来识别
webedit
weblist
link
webtable
webcheckbox
webradiogroup
image
这些都可以用name来识别,再辅助index来识别。
如:browser("creationtime:=0").page("index:=0").webEdit("name:=txtECardNum").set "123"
如果只有一个Web页面的话,也可以这样写
browser(description.create()).Page(description.create()).webEdit("name:=txtECardNum").set "123"
作者: zzfhncn    时间: 2008-7-8 17:09
学习楼上的!
作者: zzfhncn    时间: 2008-7-9 16:26
这个问题依然存在一个疑问。
代码如下:
systemutil.Run"iexplore","http://125.65.113.228/adminconsole/"
browser("卡西啵啵•魔法乐园 - 后台管理").Page("卡西啵啵•魔法乐园 - 后台管理").webEdit("html id:=ctl00_cphMain_txtUsername").Set "122"
browser("卡西啵啵•魔法乐园 - 后台管理").Page("卡西啵啵•魔法乐园 - 后台管理").webEdit("name:=ctl00$cphMain$txtUsername").Set "1223"
browser("卡西啵啵•魔法乐园 - 后台管理").Page("卡西啵啵•魔法乐园 - 后台管理").webEdit("id:=ctl00_cphMain_txtUsername").Set "122"
SPY对象后,
TO中有 html id   以及 name 属性
RO中有 id           以及 name 属性
描述编程后,只有使用html id 才成功,使用name 却失败。这是为什么?
描述编程不是推荐WebEdit使用name么?

[ 本帖最后由 zzfhncn 于 2008-7-9 16:29 编辑 ]
作者: zzfhncn    时间: 2008-7-9 16:28
前面这段代码,取name属性却又可以的,虽然是不同的页面。
systemutil.Run"iexplore","http://125.65.113.228/InviteCard.aspx"
Browser("name:=注册账号").page("title:=注册账号").webedit("name:=txtECardNum").Set "54545"
Browser("name:=注册账号").page("title:=注册账号").webedit("html id:=txtECardNum").Set "540000545"
作者: zzfhncn    时间: 2008-7-9 16:31
还是迷惑了,不知道究竟该取哪个属性?请各位给指点下。
作者: abbybeach    时间: 2008-8-1 17:40
一般在录制过程中如果什么没有打开,只打开一个IE的话,browser与page的属性为空
代码可以改成这样试下,我也是这样解决了我的问题
systemutil.Run"iexplore","http://125.65.113.228/InviteCard.aspx"
Browser("").page("").webedit("name:=txtECardNum").Set "54545"
Browser("").page("").webedit("html id:=txtECardNum").Set "540000545"

不知对你有没有帮助




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2