51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3228|回复: 12
打印 上一主题 下一主题

[求助] 关于GetROProperty

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-6 17:27:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实在是没辙了,烦啊,想用GetROProperty写一个小程序,抓取一下FLIGHT登录时候的密码,但是不知道自己到底什么地方没有改对,对象库里的属性值应该改那一部分,为什么我的程序无法实现呢?哪位高人帮忙指点一下,谢了~~~

  下面是没有实现的代码,帮忙帮忙,多谢~~~

   Dim loginpassw

SystemUtil.Run "D:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe","","D:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinEdit("Agent Name:").Set "sally"
Dialog("Login").WinEdit("Agent Name:").Type  micTab

loginpassw=Dialog("Login").WinEdit("Password:").GetROProperty("nativeclass")

msgbox loginpassw

loginpassw=Dialog("Login").WinEdit("Password:").GetROProperty("nativeclass")这句话里最后的native class应该改成什么才对啊,
对应的对象库里应该改的是那部分啊?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-11-6 18:16:38 | 只看该作者

no

我来说两句吧,这个winedit有一个text的属性,在作为密码的时候,他对QTP是空的..如果是一个名字使用的winedit,就有text的值。

[ 本帖最后由 jackymail 于 2007-11-7 17:14 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-11-6 19:31:04 | 只看该作者

回复 1# 的帖子

GetROProperty()中你想取到哪个属性的值就写对应的属性名称,比如你要取密码,你就先用spy查看下密码WinEdit对象的属性的值,哪个是你输入的密码,然后就在GetROProperty()中写入该属性名称。

就你上面的例子来看,应该是取"text"属性,当然你没有输入过密码,那么取到的text值应为空
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-11-7 10:57:33 | 只看该作者

回复 3# 的帖子

三楼,我明白了你的意思,RO是在运行过程中抓取值,我把RO改成TO,同时把后台的对象库里的PASSWORD的attached text故意改成了fffffffddd,然后加一个msgbox,让他返回这个值,但是程序还是不能运行,是为什么啊?
set loginpassw=Dialog("Login").WinEdit("Password:").GetTOProperty("attached text")
msgbox Cstr(loginpassw)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-11-7 11:33:27 | 只看该作者

关注GetROProperty()

GetROProperty()t可以取datatable中的值吗.
貌似datatable没有这个方法.
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-11-7 13:40:44 | 只看该作者

回复 4# 的帖子

把set去掉

---------------------
回5楼,确实不可以,你在帮助index中查询datatable,就知道该如何进行相关操作了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-11-7 16:12:38 | 只看该作者
我把SET去掉,程序是可以运行,但是运行之后完全是我录制之后的回放过程,GetTOProperty没有得到应该有的效果啊,比如说抓取值什么的,我自己又用FLIGHT程序写了段脚本,再次加了一下GetTOProperty,然后用msgbox返回值,msgbox返回的是一个一个的单词,因为前面用的是mid函数,所以我现在也弄不明白我返回的是GetTOProperty得到的结果还是mid函数得到的结果了。
   这段代码是:Dialog("Login").WinEdit("Agent Name:").Set (x(0))
           Dialog("Login").WinEdit("Agent Name:").GetTOProperty ("text")
            msgbox loginame
   
   
   希望高人继续帮忙指点一下,先谢过~~
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-11-7 19:14:31 | 只看该作者
原帖由 sally_520xue 于 2007-11-7 16:12 发表
我把SET去掉,程序是可以运行,但是运行之后完全是我录制之后的回放过程,GetTOProperty没有得到应该有的效果啊,比如说抓取值什么的,我自己又用FLIGHT程序写了段脚本,再次加了一下GetTOProperty,然后用msgbox返回 ...


你要得到什么效果。。。你用GetTOProperty取到的值都没有返回给变量,那句话就等于没写。。。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-11-8 09:39:13 | 只看该作者
呵呵,今天又有新的收获了,以前看帖子总是半懂不懂的,现在算是有了很大的进步了
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-11-8 10:52:17 | 只看该作者

回复 8# 的帖子

GetTOProperty是从对象库里取到的值对不对?我的意思就是想用GetTOProperty从对象库里取到登录名这个值,然后用MSGBOX返回,就是这个意思,可是我不是很清楚怎么写,所以一直在这里绕弯子,呵呵,我看你现在在线哦,有空的话帮下忙吧,多谢~~~
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-11-8 11:38:28 | 只看该作者

回复 10# 的帖子

首先你要确定对象库中对象属性值中有你要取的值,否则是取不到的
以你的  Dialog("Login").WinEdit("Agent Name:").GetTOProperty ("text") 这句代码为例,WinEdit对象在对象库中是没有"text"属性的,所以这样会报个Warning出来,而不会取到任何值。
对于你的需求来说,你应该选择使用GetROProperty("regexpwndtitle")来返回你输入的登录名
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-11-8 14:25:54 | 只看该作者

回复 10# 的帖子

WinEdit对象在对象库中是有"text"属性的

对于登录名, Dialog("Login").WinEdit("Agent Name:").GetROProperty ("text"),就可以了

对于密码, 二楼说过了,对QTP始终为空,不知道存到哪个属性去了。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2007-11-8 15:04:11 | 只看该作者
恩,多谢高人帮忙,现在总算搞清楚了,其实很简单,只是有一个问题我始终没有搞明白,所以一直在糊涂着。
QTP中属性,属性名,和属性值都是必须一一对应的,但是我在做这个小程序的时候忽略了属性值,也就是value这里,我以为对象库里的value值是可以任意更改的,只要属性名和前台的脚本对应了就可以了呢~~~嘿嘿,真是感谢各位大侠的帮忙,谢~~~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-8 23:09 , Processed in 0.068964 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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