51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4849|回复: 21
打印 上一主题 下一主题

[原创] 有关GetROProperty!!!!!!!!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-11 11:19:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我用的是QTP9.2
问题代码如下:
Check1=Browser("Browser").Page("CSG").Frame("Frame").WebElement("Service_System_Services_HTTPEn").GetROProperty("innerText")
msgbox("Check1="&Check1)

如上代码:为什么获取不了运行时的WebElement("Service_System_Services_HTTPEn")的innerText属性的内容,获取的全是对象仓库中innertext属性的值。比如说在对象仓库中innertext值为:Saved  ,输出是Saved,但是如果对象仓库中innertext值为空,即使运行时网页上显示的是Saved,输出也是空!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

22#
发表于 2008-8-10 18:59:19 | 只看该作者
简单问题复杂化 故弄玄虚
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2008-8-7 20:23:47 | 只看该作者
说说GetRoProperty("name")的深层吧....GetRoProperty原意取的是测试对象运行时的值,没错这个大家也都理解了,可你知道它的潜规则吗..你看过高质量C/C++编程这本书没....C/C++有潜规则,QTP中同样有潜规则.当GetRoProperty("name")所取对象实际运行不存在/不可用等情况时,他就会取其对象库中的值........碰到问题要思考..要查找..不要总是主观觉得其它错..
回复 支持 反对

使用道具 举报

该用户从未签到

20#
 楼主| 发表于 2007-10-25 20:03:54 | 只看该作者
很早的问题了   呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2007-10-25 15:27:06 | 只看该作者
不对呀?糊涂了~~
GetROProperty就是取实际对象的属性吧,而不是对象库是对象的属性吧?

眼花了?
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-10-2 12:08:31 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2007-9-17 15:41:12 | 只看该作者
呵呵  谢谢yabest了
能请教下WebElement这个对象的用法吗?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    16#
    发表于 2007-9-15 00:54:41 | 只看该作者
    原帖由 yabest 于 2007-9-14 16:11 发表


    唉,你都没明白我的意思。

    简单的说:

    (1)你把对象库中WebElement("要买的肉")的innerText属性设置为“狗肉”,则
          WebElement("要买的肉")就指向狗肉
          WebElement("要买的肉").GetROP ...


    此比喻贴切、生动、形象,是个不错的理解GetROProperty函数的方法。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-9-14 16:19:37 | 只看该作者
    哈哈,形容瞒恰当的,不错!顶一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-9-14 16:12:04 | 只看该作者
    原帖由 yabest 于 2007-9-11 12:57 发表


    LZ说:“给我来一斤狗肉。”
    QTP给了LZ一斤狗肉,LZ很高兴。

    LZ又说:“给我来一斤羊肉。”
    QTP就给了LZ一斤羊肉。
    结果LZ一看,大怒,一把揪住QTP,说:”上次给我狗肉挺好的,怎么这次却给我羊肉, ...


    难道是老朴或峰歌的小号?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-9-14 16:11:45 | 只看该作者
    原帖由 three116 于 2007-9-14 13:38 发表
    呵呵 几天没来看了!

    不管你是帮忙,还是损损我,都要谢谢你们了。
    当然要特别感谢提供帮助的人;对于发牢骚的,有这时间或如果有能力,那就提供点解决办法,或者如果有理解不正确的地方,能够帮指出来,这样对大家都有益。



    唉,你都没明白我的意思。

    简单的说:

    (1)你把对象库中WebElement("要买的肉")的innerText属性设置为“狗肉”,则
          WebElement("要买的肉")就指向狗肉
          WebElement("要买的肉").GetROProperty("innerText")就返回“狗肉”
          WebElement("要买的肉").GetROProperty("价格")就返回狗肉的价格
          WebElement("要买的肉").GetROProperty("重量")就返回狗肉的重量
          
    (2)你把对象库中WebElement("要买的肉")的innerText属性设置为“羊肉”,则
          WebElement("要买的肉")就指向羊肉
          WebElement("要买的肉").GetROProperty("innerText")就返回“羊肉”
          WebElement("要买的肉").GetROProperty("价格")就返回羊肉的价格
          WebElement("要买的肉").GetROProperty("重量")就返回羊肉的重量
          
    所以,你把WebElement("Service_System_Services_HTTPEn")的innerText设置为空串,它就指向空串WebElement了,而不是指向Saved WebElement。GetROProperty("innerText")的结果,必然是返回空串了!

    建议你看看我写的帖子《QTP识别和操作对象的原理》[url]http://bbs.51testing.com/thread-87074-1-2.html[/url],看后你就能明白了。

    [ 本帖最后由 yabest 于 2007-9-14 16:14 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2007-9-14 13:38:57 | 只看该作者
    呵呵 几天没来看了!

    不管你是帮忙,还是损损我,都要谢谢你们了。
    当然要特别感谢提供帮助的人;对于发牢骚的,有这时间或如果有能力,那就提供点解决办法,或者如果有理解不正确的地方,能够帮指出来,这样对大家都有益。

    不过问题早解决了!也不是用GetROProperty方法。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-9-11 21:52:35 | 只看该作者
    yabest一定要在上海讲第一课哦~偶得来洗耳恭听啊~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2007-9-11 21:46:18 | 只看该作者
    原帖由 yabest 于 2007-9-11 12:57 发表


    LZ说:“给我来一斤狗肉。”
    QTP给了LZ一斤狗肉,LZ很高兴。

    LZ又说:“给我来一斤羊肉。”
    QTP就给了LZ一斤羊肉。
    结果LZ一看,大怒,一把揪住QTP,说:”上次给我狗肉挺好的,怎么这次却给我羊肉, ...


    yabest 真幽默。呵呵! 建议yabest 去当讲师。否则 屈才了呀
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
    发表于 2007-9-11 21:45:02 | 只看该作者
    原帖由 three116 于 2007-9-11 11:19 发表
    我用的是QTP9.2
    问题代码如下:
    Check1=Browser("Browser").Page("CSG").Frame("Frame").WebElement("Service_System_Services_HTTPEn").GetROProperty("innerText")
    msgbox("Check1="&Check1)

    如上代码: ...


    请楼主先在QTP的帮助里面 弄明白 GetROProperty的 含义再说。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-9-11 20:08:52 | 只看该作者
    6楼真幽默~这下子加班不会困了~顶下~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-9-11 14:09:20 | 只看该作者
    估计你的用法有问题
    VAL=uiobject.GetROProperty(“属性名称”)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-9-11 12:57:16 | 只看该作者
    原帖由 three116 于 2007-9-11 11:51 发表
    呵呵  我也不想这样,只是问题太奇怪


    LZ说:“给我来一斤狗肉。”
    QTP给了LZ一斤狗肉,LZ很高兴。

    LZ又说:“给我来一斤羊肉。”
    QTP就给了LZ一斤羊肉。
    结果LZ一看,大怒,一把揪住QTP,说:”上次给我狗肉挺好的,怎么这次却给我羊肉,不给狗肉啦!你怎么这么奇怪!坑我是吧?!“
    QTP:”。。。“

    [ 本帖最后由 yabest 于 2007-9-11 13:01 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-9-11 12:22:39 | 只看该作者
    回楼主,你若把对象库中innertext中的saved改为“adjfklafjkl”恐怕qtp就要报错对象找不到了。。。。。。
    你若是要动态获取WebElement的innertext的值,那就要把WebElement对象做下处理,或者使用描述性编程+正则表达式,或者将对象库中的对象属性值参数化/正则表达式
    例:描述性编程:totalLinkNum = Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebElement("outertext:=[1-9][0-9]*","innerhtml:= [1-9][0-9]* ").GetROProperty("innertext")
    对象库:
    或者将对象库中的属性使用正则表达式,比如innertext属性值改为Saved|Modified|Deleted

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-9-11 11:56:12 | 只看该作者
    查看下执行过程中页面的源代码看看啊,看innertext的值是否真的是saved啊,这个地方是不是用脚本去控制的?或者不是QTP的问题。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-28 15:24 , Processed in 0.115720 second(s), 34 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表