wugecat 发表于 2011-3-11 16:34:28

用了这么久的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:55

childitem或许更实用吧

wugecat 发表于 2011-3-11 16:51:34

回复 2# lyscser
childitem???这个是怎么用的能否详细说说?

wugecat 发表于 2011-3-11 16:55:44

哦我找到这个方法了,参数有点多。。是不是不好控制

hsjzfling 发表于 2011-3-14 10:51:31

回复 1# wugecat

QTP处理web对象的时候是可以根据页面的源码来自定义对象层次结构的,但是仅限web对象咯~

kavensyw 发表于 2011-3-14 14:12:33

本帖最后由 kavensyw 于 2011-3-14 14:13 编辑

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

见图:




无论在页面哪个地方注销,我就可以这样:
Browser("P&G Customer Portal").Link("退出网站").Click

foreverexist 发表于 2011-3-31 09:49:02

不错 学习了
页: [1]
查看完整版本: 用了这么久的QTP,今天才发现原来能这么用~~~!