51Testing软件测试论坛

标题: 如果要检查某个链接是灰色不可点击有什么办法吗? [打印本页]

作者: mingerp1026    时间: 2006-8-2 16:43
标题: 如果要检查某个链接是灰色不可点击有什么办法吗?
如果要检查某个链接是灰色不可点击有什么办法吗?
如图,我要判断“管理”链接是灰色,不可操作,可以采取什么办法?
可以用检查物件的方法吗?不知道能不能检查到链接不可用呢?

[ 本帖最后由 mingerp1026 于 2006-8-4 14:01 编辑 ]
作者: xiaonan    时间: 2006-8-2 16:49
去判断一下用来描述这个对象可不可用的属性.如:有些对象会有disable这个属性,那么disable为ture的时候,不可用.disable为false的时候可用
作者: mingerp1026    时间: 2006-8-2 16:59
原帖由 xiaonan 于 2006-8-2 16:49 发表
去判断一下用来描述这个对象可不可用的属性.如:有些对象会有disable这个属性,那么disable为ture的时候,不可用.disable为false的时候可用


哪里可以看对象属性啊?我用spy看了下,没有这个属性:(只有visible,且为ture,明明是不可用的,应该为faulse啊。。。

另外,您说的判断语句是什么?麻烦告诉一下,谢谢!

[ 本帖最后由 mingerp1026 于 2006-8-2 17:01 编辑 ]
作者: yangkinki    时间: 2006-8-2 17:19
在对象库中如果这个对象没有enabled属性,增加这个对象的enabled属性,就可以用判断语句,是否这个对象的enabled为false
if browser("事务管理").page("事务管理“)....webelement("管理").enabled=false  then
    ...
else
  ....
作者: 柳叶    时间: 2006-8-2 17:34
你可以试试用spy在按钮不是灰色的情况下看看visible是否为faulse,然后去判断visible属性也可以啊!
作者: edwin_chen    时间: 2006-8-2 18:01
我试验了一下以上方法,发现好像不可行

打开,visual c++,不打开任何文件,这样子它的 RUN 是灰色的
这个时候用mercury spy,无论是enable 还是 visable 都是ture的

不知道怎么解决,关注
作者: honghongkeai    时间: 2006-8-3 12:16
visible好像是说是否可见,而不是说是否可用,不知道我说的对不对,因为我没有做过什么测试,只是VB里面是这样的
作者: walker1020    时间: 2006-8-3 13:06
标题: 试试下面的的方法
查看在对象库中该对象的属性,如果该对象没有disabled 属性,增加这个对象的disabled 属性,就可以用If 来判断该对象是否为 “只读”(即无法进行任何操作)。

if browser("事务管理").page("事务管理“)....webelement("管理").GetROProperty("disabled") =“ false”  then
    ...
else
  ....

GetROProperty  这个函数的用法和作用在帮助里面有,你自己去看帮助吧。不管问题是否得到解决,请回复一下。
作者: urral    时间: 2006-8-3 13:55
我也遇到同样问题,用楼上的做法,当对象没有disable属性时,怎么为对象增加disable属性呢?
作者: mingerp1026    时间: 2006-8-3 14:11
原帖由 urral 于 2006-8-3 13:55 发表
我也遇到同样问题,用楼上的做法,当对象没有disable属性时,怎么为对象增加disable属性呢?


TOOLs------>object repository----->选择一个你要添加属性的对象,然后add/remove...
作者: mingerp1026    时间: 2006-8-3 14:21
原帖由 yangkinki 于 2006-8-2 17:19 发表
在对象库中如果这个对象没有enabled属性,增加这个对象的enabled属性,就可以用判断语句,是否这个对象的enabled为false
if browser("事务管理").page("事务管理“)....webelement("管理&qu ...


我根据在keyword view视窗里该“管理”链接所在的位置,在object repository里找到了对应的位置(先问下这样找对不对?),然后添加了该属性,如下图,然后在expert view里面添加判断语句:

If Browser("TL9000支撑系统").Page("事务管理").Frame("right_4").Link("管理").enabled = false Then
Browser("TL9000支撑系统").Page("事务管理").Frame("right_4").Link("管理")=False
else Browser("TL9000支撑系统").Page("事务管理").Frame("right_4").Link("管理")=True
End If
不知道对不对,运行出来有问题

[ 本帖最后由 mingerp1026 于 2006-8-3 15:05 编辑 ]
作者: yangkinki    时间: 2006-8-3 14:29
Browser("TL9000支撑系统").Page("事务管理").Frame("right_4").Link("管理")=False
这条语句是有问题的,这是一步操作
只能是当为false 时,进行哪些操作或者message
当为true时,进行另一些操作或者message
作者: urral    时间: 2006-8-3 14:55
For i=1 to row
   j=1
JavaWindow("Configuration Management").JavaTable("JXTreeTable").SelectRow "#"&j&""
state=JavaWindow("Configuration Management").JavaButton("delete").GetROProperty("disable")
     If  state<>"false" Then
     j=j+1
         else
JavaWindow("Configuration Management").JavaButton("delete").Click
JavaWindow("Configuration Management").JavaDialog("Delete Address Group").JavaButton("yes").Click
   End If
Next

同样的问题哈,我在
作者: urral    时间: 2006-8-3 15:00
我在对象仓库里面对JavaButton("delete").添加了disable, 值为false然后执行上面语句,执行到
state=JavaWindow("Configuration Management").JavaButton("delete").GetROProperty("disable")这是,程序报错
:cannot identify the object "delete".
因为应用程序的JavaButton("delete")对象没有disable属性啊,我在仓库里面添加了就导致两者不相符了啊,是不是这样的呢 ?
作者: urral    时间: 2006-8-3 15:16
谢谢各位,我的问题已经搞定,原来JavaButton("delete")里面本来就有enable属性,后来才发现值是变化的,开始以为值没变呢
作者: walker1020    时间: 2006-8-3 17:30
识别按钮是灰色此属性的时候,不同类型的对象的属性的名字可能是不同的,识别此类对象时用的是 enable ,识别另外一种就可能是 disable。 我不知道识别 JavaButton 用的是什么名字。问一些开发人员或查看帮助吧
作者: mingerp1026    时间: 2006-8-4 10:51
我试过了,加的下面这条语句:
If Browser("TL9000支撑系统").Page("事务管理").Frame("right_4").Link("管理").disable = True Then
MsgBox("correct")
else MsgBox("error")
End If

但是还是通不过:(结果提示:不支持该对象的属性
我用enable也试过,还是不行。我问过开发,这个“管理”不是button,是一个连接,所以没有所谓的属性
那我应该怎么做呢?
作者: walker1020    时间: 2006-8-4 11:15
先用 Object Spy找到 识别某个按钮是灰色的属性名。提示:要选择 run-time object properties。
如果 识别某个按钮是灰色的属性名是 disable ,那么:

楼主 在#17 发的帖子中的代码有严重错误,所以 结果提示不支持该对象的属性是非常正常的,因为Link("管理")的 disable 属性必须通过GetROProperty 函数才能得到呀呀。难得楼主没有注意到别人用的都是  GetROProperty("disable")?!

[ 本帖最后由 walker1020 于 2006-8-4 11:19 编辑 ]
作者: mingerp1026    时间: 2006-8-4 11:39
原帖由 walker1020 于 2006-8-4 11:15 发表
先用 Object Spy找到 识别某个按钮是灰色的属性名。提示:要选择 run-time object properties。
如果 识别某个按钮是灰色的属性名是 disable ,那么:

楼主 在#17 发的帖子中的代码有严重错误,所以 结果提示 ...


我当然看到他用得是GetROProperty了,我之前也试过,但是错误提示:
Cannot identify the object "管理" (of class Link). Verify that this object's properties match an object currently displayed in your application.
我看4#斑竹是没有这个函数,所以我后来就没有用。我用你说的SPY又去识别了,它的属性是:disabled,值是false,更看不懂什么意思了:(

[ 本帖最后由 mingerp1026 于 2006-8-4 12:32 编辑 ]
作者: mingerp1026    时间: 2006-8-4 11:41
再说以下:运行的时候,当出现错误提示后,我选的skip,然后弹出了“correct”的message
作者: walker1020    时间: 2006-8-4 11:57
根据错误提示,可以判断是QTP识别object "管理" 时遇到了问题。你在对象库里面增加可以唯一识别 object "管理" 的、在运行过程中不会发生变化的属性,同时把那些无用的属性删除就可以了。
作者: caigua    时间: 2006-8-16 12:51
原帖由 mingerp1026 于 2006-8-4 11:39 发表


我当然看到他用得是GetROProperty了,我之前也试过,但是错误提示:
Cannot identify the object "管理" (of class Link). Verify that this object's properties match an object currently disp ...



你把GetROProperty换成GetTOProperty试试
作者: suifengpiao    时间: 2007-8-13 15:24
前后识别的对象不一样,一个是link,一个是webelement,我也遇到这个问题了,没有办法判断sdlkfj7
作者: yaojichang    时间: 2007-8-13 16:42
标题: 回复 #8 walker1020 的帖子
true
作者: zhangj8826    时间: 2007-8-15 10:28
关注




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