51Testing软件测试论坛

标题: 为什么我这个提示是无效的过程或无效参数呢? [打印本页]

作者: suxinghe    时间: 2007-4-24 10:57
标题: 为什么我这个提示是无效的过程或无效参数呢?
value_flights = Window("regexpwndtitle:=Flight Reservation").WinButton("text:=FLIGHT").GetTOProperty("enabled")

想获取WinButton的enabled的值,可总是提示无效的过程调用或无效参数?

是为什么呢?
作者: suxinghe    时间: 2007-4-24 11:41
没人回答嘛?
作者: stone821021    时间: 2007-4-24 11:56
原帖由 suxinghe 于 2007-4-24 10:57 发表
value_flights = Window("regexpwndtitle:=Flight Reservation").WinButton("text:=FLIGHT").GetTOProperty("enabled")

想获取WinButton的enabled的值,可总是提示无效的过程调用或无效参数?

是为什么呢?


有没有试过给winbutton多加几个说明性参数试试?比如说index之类的.
作者: stone821021    时间: 2007-4-24 11:58
还有就是用spy看一下这个button确保你要得到的参数enabled是正确的.
作者: suxinghe    时间: 2007-4-24 12:31
但是只是把enabled换成text,其他不变,是可以取属性值的啊
作者: stone821021    时间: 2007-4-24 12:55
标题: 回复 #5 suxinghe 的帖子
把winbutton的属性帖上来看看.
作者: suxinghe    时间: 2007-4-24 14:32
标题: winbutton的属性
winbutton的属性
作者: walker1020    时间: 2007-4-24 14:40
有 GetTOProperty 这个函数吗? 把 GetTOProperty 改为 GetROProperty 后试试看! 一定要仔细,仔细,再仔细!
作者: stone821021    时间: 2007-4-24 14:49
标题: 回复 #8 walker1020 的帖子
记得看过一贴,里面曾说过GetToProterty是获得仓库中对象的某个属性,getROProperty是获得运行时对象的属性.而且我查了QTP的HLP也确有这些函数,版主记错了吧!
To:sunxinghe
那么我猜,要是你把这个Button加到对象仓库中的时候,是不是没有记录这个enabled属性呢?要是对象仓库中没有记录这个属性的话,那当然就找不到了.
你可以看看对象仓库中,这个对象的属性值里是不是有enabled这个属性.
如果没有的话,你又想获得,就要在object identification里上enabled属性试试了.

[ 本帖最后由 stone821021 于 2007-4-24 14:51 编辑 ]
作者: suxinghe    时间: 2007-4-24 14:51
我的脚本是全手工写的,没有用对象库,呵呵
作者: suxinghe    时间: 2007-4-24 14:52
谢谢walker1020
但我还是不明白,为什么GetTOProperty就不行了,这个函数也是有的啊?
作者: stone821021    时间: 2007-4-24 14:53
标题: 回复 #10 suxinghe 的帖子
全手工写的话,为什么用GetToProperty?
那就换成版主说的GetRoProperty试试!
作者: walker1020    时间: 2007-4-25 08:37
具体原因我也不清楚,这个艰巨的任务就交给楼主吧。偶只要问题能解决就可以了。呵呵!sdlkfj3
作者: danmy    时间: 2007-4-25 09:27
.......对象库里都没有,getTo应该取不到吧
作者: stone821021    时间: 2007-4-25 09:30
标题: 回复 #11 suxinghe 的帖子
昨天回去想一了想,今天又试验了一下,结论如下:
当你用描述性编程的时候,是不能用GetToProperty的.因为getTOproperty是取对象仓库中的属性值,而描述性编程在执行的时候是不去对象仓库中找该对象的.所以你用getTOproperty的时候就会提示"无效的参数..."
但是你如果不用描述性编程的话,两者都是可以用的.但是有一点要注意的是:用getROproperty的时候,可以取得任何你用spy都可以看到的属性值,当你用gettoproperty的时候,只能用对象仓库中记录该对象的值作参数.
建议楼主看一下,gettoproperty和getRoproperty的区别,清楚了这两点以后也就不会再犯这样的错误了.
作者: walker1020    时间: 2007-4-30 17:45
原帖由 stone821021 于 2007-4-25 09:30 发表
昨天回去想一了想,今天又试验了一下,结论如下:
当你用描述性编程的时候,是不能用GetToProperty的.因为getTOproperty是取对象仓库中的属性值,而描述性编程在执行的时候是不去对象仓库中找该对象的.所以你用getT ...


谢谢stone821021的透彻的分析。stone821021说的对,只有从根本上找到原因,这样以后才不能再犯这样的错误。




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