lhjtc8257 发表于 2008-8-22 11:04:02

[描述性变成问题]对象属性识别错误问题(急)

请教:

    附图中,需要识别Webedit控件,进行输入,但失败
    语句是这样的:
   
    Browser("Name:=Sign Up").Page("Title:=Sign Up).WebEdit("type:=text","name:=user","html tag:=INPUT").set "123456"
   
    无法识别出唯一的WebEdit
    只有循环页面中所有的对象,确定需要的对象为item(14),并且高亮(highlight)显示确认过,请问如何读出此对象的属性,而不是通过“object repository”或“object spy”
(现在替代的方法是,把item(14).set "123456"直接设值,这样的话,如果页面的元素很多的话,就很头晕了)

请教高手,或者有其他办法实现!我现在无法通过上面的语句识别出.

通过QTP中object repository获取此对象,也是以上3个属性的,为什么我也用这3个属性就识别不出
附图


[ 本帖最后由 lhjtc8257 于 2008-8-22 11:26 编辑 ]

假装不在 发表于 2008-8-22 11:24:27

这个是因为对象库在忽悠人。
对象库说只用那3个属性,但其实它会是参照其它的属性。例如坐标之类的...
所以你只通过对象库的高亮可以显示出来,不说明你拿它的属性就能够让它显示出来。

所以,照你这个情况,你要么就直接使用对象库。
要么就在描述里面加多个index进去。
而且有可能是因为你的“name”的value是一个变化值来的。
Browser("Name:=Sign Up").Page("Title:=Sign Up).WebEdit("name:=user")
不行就用这个
Browser("Name:=Sign Up").Page("Title:=Sign Up).WebEdit("index:=...")。
因为webedit已经是默认了html tag为input,以及它的type是text,所以你的那些是没有必要加进去的。

假装不在 发表于 2008-8-22 11:25:05

http://bbs.51testing.com/thread-123509-1-2.html

这个你或者可以看看。

lhjtc8257 发表于 2008-8-22 11:28:12

原帖由 假装不在 于 2008-8-22 11:24 发表 http://bbs.51testing.com/images/common/back.gif
Browser("Name:=Sign Up").Page("Title:=Sign Up).WebEdit("index:=...")

那index的value是什么呢???

假装不在 发表于 2008-8-22 11:48:34

回复 4# 的帖子

:L :(
这个是它的标示顺序。
如果你只通过index标示,找到对象比较容易点。
如果你非要用描述,那也可以,至于你要知道value,其它方法和你说太长了,告诉你个比较土的方法:
1,添加对象到对象库中。
2,msgbox browser().page().webedit().getroproperty("index")

:lol :lol :hug:
大家别丢东西,我不是忽悠你,是你非要用描述,哪么你现在知道它的value了就可以用了。

lhjtc8257 发表于 2008-8-22 13:19:32

不好意思,还是不太清楚,我没看到属性中有,index这个,怎么办?

yjfkk 发表于 2008-8-22 13:58:47

非常感谢

hsjzfling 发表于 2008-8-22 15:25:58

问题没那么复杂,实际原因是WebEdit("name:=user")这个描述性属性中有特殊字符[],QTP默认是启用正则表达式的,而很不巧,[]属于正则表达式的特殊字符,将之转义,改为
WebEdit("name:=user\")
即可

假装不在 发表于 2008-8-22 15:40:27

回复 8# 的帖子

:D
忽略了这个问题。强兮

没有蛀牙 发表于 2008-8-22 16:05:47

通常Browser和Page一层,我不去用描述性
页: [1]
查看完整版本: [描述性变成问题]对象属性识别错误问题(急)