51Testing软件测试论坛

标题: 用了这么久的QTP,今天才发现原来能这么用~~~! [打印本页]

作者: wugecat    时间: 2011-3-11 16:34
标题: 用了这么久的QTP,今天才发现原来能这么用~~~!
前提是只针对web
之前我一直认为脚本是这样的:browser(XXXX).page("XXXXX").frame("XXXX")........frame或page之后,就是webelement("XXXXX"),或者webEdit("XXXXX")等等
到了今天我才发现,原来脚本是可以这样写的browser(XXXX).page("XXXXX").frame("XXXX").webelement("XXXXX").webelement("XXXXX").webelement("XXXXX").webEdit("XXXXXX").set "XXX"
当遇到复杂的页面而且又缺少特定属性的对象,如果其上层标签存在容易定位的属性(比如特定的div 中有固定的id),那么就可以先用webelement过度一下(webelement("html id:=XXX")),这样,就可以更准确的定位到下面的对象了,用index也会好控制很多。如果有和我一样想法的人,希望能帮助到你们。
我去面壁思过了
作者: lyscser    时间: 2011-3-11 16:48
childitem或许更实用吧
作者: wugecat    时间: 2011-3-11 16:51
回复 2# lyscser
childitem???这个是怎么用的能否详细说说?
作者: wugecat    时间: 2011-3-11 16:55
哦我找到这个方法了,参数有点多。。是不是不好控制
作者: hsjzfling    时间: 2011-3-14 10:51
回复 1# wugecat

QTP处理web对象的时候是可以根据页面的源码来自定义对象层次结构的,但是仅限web对象咯~
作者: kavensyw    时间: 2011-3-14 14:12
本帖最后由 kavensyw 于 2011-3-14 14:13 编辑

Web只要子对象在父对象里是唯一能识别到的就行。
比如页面里的注销,很多page里都有,我就可以在resources直接把注销link直接拖到Browser里都可以识别。

见图:

[attach]71897[/attach]


无论在页面哪个地方注销,我就可以这样:
Browser("P&G Customer Portal").Link("退出网站").Click
作者: foreverexist    时间: 2011-3-31 09:49
不错 学习了




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