51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 9759|回复: 19
打印 上一主题 下一主题

[讨论] 关于GetTOProperty和GetROProperty

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-1-9 10:25:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚试了一个脚本是个自带的例子.脚本是:
Dim  getusername
SystemUtil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinEdit("Agent Name:").Set DataTable("username", dtGlobalSheet)
getusername=Dialog("Login").WinEdit("Agent Name:").GetTOProperty("text")
msgbox(getusername)
Dialog("Login").WinEdit("Password:").SetSecure DataTable("password", dtGlobalSheet)
Dialog("Login").VirtualObject("object").Click 139,169

在对象库中:我将Agent name 这个对象的属性text 设置为1,如果用getusername=Dialog("Login").WinEdit("Agent Name:").GetTOProperty("text"),此时msgbox(getusername)返回为1.但如果我用的是getusername=Dialog("Login").WinEdit("Agent Name:").GetROProperty("text"),此时运行到登陆名的时候就运行不下去,这是为什么?对了,还有就是我在这个时候把Text参数化为username,目的就是得到参数化后运行时的登陆名,但是不知道怎么了运行不下去了?GetROProperty和GetTOProperty在用法上有什么不同吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2007-1-9 10:30:14 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2007-1-9 11:21:11 | 只看该作者
    这两个的区别我明白咯。但在用的时候为什么会出现我说描述的问题呢?用获得测试对象的时候是没问题的,但获得运行时对象却运行不下去呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-1-9 13:18:52 | 只看该作者
    运行不下去,是怎么一个情况?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2007-1-9 13:38:17 | 只看该作者
    可能我在理解的时候有问题。现在想问一下这个问题:对象库中有属性和值。对于这个例子中的Agent Name:这个对象他一个属性为nativeclass 值为Edit.他是不是一个可编辑的属性。也就是说我设置为:Dialog("Login").WinEdit("Agent Name:").Set DataTable("username", dtGlobalSheet)那他的值是不是就变为DataTable("username", dtGlobalSheet)中设置的值。我的目的也是得到这个值。但我用Dialog("Login").WinEdit("Agent Name:").GetROProperty("nativeclass")得到的始终都是Edit. 我的理解是不是有问题??
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-1-9 13:47:50 | 只看该作者
    其实是你没找准属性,Dialog("Login").WinEdit("Agent Name:").Set DataTable("username", dtGlobalSheet)经过这句话操作后,实际上是给这个测试对象所针对的应用程序上的运行时对象的text属性给赋了一个值.这个时候你在通过Dialog("Login").WinEdit("Agent Name:").GetROProperty("text")就能得到这个值了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2007-1-9 13:57:53 | 只看该作者
    非常感谢。恩果然是没找对属性。对了,那nativeclass 属性后面的属性值Edit是不是表示可编辑的,attached text这个属性后面的属性值Agent Name:是不是就是表示他的这个对象的名字?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-1-9 14:08:58 | 只看该作者
    nativeclass属性,是表明这个对象的类别.表示名为Agent Name:的文本框是一个可以编辑输入值的Edit框
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2007-1-9 14:55:44 | 只看该作者
    多谢。还有一个问题:
    dim  a
    Dim b
    SystemUtil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\","open"
    Dialog("Login").WinEdit("Agent Name:").Set "mercury"
    Dialog("Login").WinEdit("Password:").SetSecure "45a33043f58a82a4552fb2c7368281775b80644a"
    a=Dialog("Login").WinEdit("Agent Name:").GetROProperty("text")
    msgbox(a)
    b=Dialog("Login").WinEdit("Agent Name:").SetTOProperty ("text" ,"1")
    msgbox(text)
    Dialog("Login").VirtualObject("object").Click 115,168
    Window("Flight Reservation").Close
    按我的想法此时B返回的应该是1但为什么返回的是空?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-1-9 15:04:56 | 只看该作者
    msgbox(text)你这么返回,当然无法返回出这个text值了.写错了吧
    Dialog("Login").WinEdit("Agent Name:").SetTOProperty ("text" ,"1")
    先赋值,再取值啊
    b=Dialog("Login").WinEdit("Agent Name:").GetTOProperty("text")
    然后再返回,msgbox(b)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2007-1-9 16:00:03 | 只看该作者
    恩,我Copy错了,但用msgbox(b)返回的还是空的?知道为什么吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-1-9 16:19:15 | 只看该作者
    >这两个的区别我明白咯。但在用的时候为什么会出现我说描述的问题呢?用获得测试对象的时候>是没问题的,但获得运行时对象却运行不下去呢?

    楼主的概念一团糟

    TO是仓库文件里定义的仓库对象,RO是被测试软件的实际对象。

    TO属性你可以随意设置和获取,你设置了什么,获取的也是什么,跟实际对象无关,不依赖实际对象,被测对象不存在也没关系。

    RO是实际对象,它要根据仓库对象TO的定义,在被测软件里寻找相应的实际对象,然后GetROProperty就会返回此实际对象的属性值。

    >>在对象库中:我将Agent name 这个对象的属性text 设置为1
    你运行不下去,就是因为你将TO的Text属性设置为1,但是没有一个RO(实际对象)的text是1,QTP就一直寻找,所以跑不下去了。一直找不到的话,过一会就会超时,QTP就会报错了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-1-9 16:36:04 | 只看该作者
    你调试一下看看,按道理把text属性给设置了一个值,应该能取到的啊
    Dialog("Login").WinEdit("Agent Name:").SetTOProperty "text" ,"1"
    改一下看看

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

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2007-1-9 17:13:28 | 只看该作者
    非常感谢你们两位让我学到不少.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-6-12 15:18:39 | 只看该作者
    要好好学了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2007-6-12 15:18:45 | 只看该作者
    先看看在说,好东西大家看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2007-6-12 15:18:52 | 只看该作者
    先看看在说,好东西大家看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2007-6-12 15:19:23 | 只看该作者
    先看看在说,好东西大家看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2010-12-17 11:38:24 | 只看该作者
    我公司2010年6月份刚在纳斯达克上市,现在要找一名自动化测试组长,薪资福利良好:

    我们项目组需要招聘自动化测试组组长,职位信息如下:
    1.计算机相关专业本科以上学历,熟悉软件工程师学原理;
    2.软件测试相关经验3年以上,其中至少包括2年功能自动化测试经验;
    3.熟悉QTP工具的使用,了解QTP原理和对象识别机制;
    4.熟悉VBScript脚本语言,能进行相关自动化脚本函数的编写;
    5.较强的语言表达和文档编写能力及良好的沟通技巧;
    6.有金融银行基础业务知识经验、有网银业务经验为佳;
    7.有自动化框架编写、设计经验和软件开发经验有团队管理经验为佳;
    8.熟悉Java、J2EE 、WebSphere 、Application Serve、DB2、Oracle等为佳
    9.有Unix平台的使用经验(AIX/Solaris/HPUX/Linux)为佳;
    欢迎各专业人士来信探讨,谢谢:
    shanjing1983@163.com
    sophiashan07@hotmail.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2014-2-11 16:35:53 | 只看该作者
    回复 1# 思飞2006


        先看看
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-24 22:55 , Processed in 0.085359 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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