51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3822|回复: 10
打印 上一主题 下一主题

[原创] 高手请进!!!录制一个对象的问题(苦想多日,没有结果,请高手指点)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-3 19:37:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在录制脚本过程中,要录制对象中的数据,如图:
要求:知道其中的黄色部分的内容,需要根据黄色部分的内容找到对应的序列号(绿色部分)。比如知道“打包贷款”,要求他能自动找到序列号14,如图。
说明:在录制过程中在点击需料号以外的地方,都录制不到内容(多次录制发现点击出序列号以外的地方实际上是点选了整个).


脚本如下:
Browser("欢迎使用信贷综合管理系统").Page("欢迎使用信贷综合管理系统").Frame("mainFrame").Image("choose").Click
'' ------------------------点击第18条序列号
Browser("欢迎使用信贷综合管理系统").Window("查询 -- 网页对话框").Page("查询").Link("18").Click
'' ------------------------点击除序列号以外的地方
Browser("欢迎使用信贷综合管理系统").Page("欢迎使用信贷综合管理系统").Frame("mainFrame").Image("choose").Click
'' ------------------------插入一个text  Output Value,
Browser("欢迎使用信贷综合管理系统").Window("查询 -- 网页对话框").Page("查询").Output CheckPoint("查询")

运行脚本后,text  Output Value可以得到响应的值。

请各位高手帮帮忙!谢谢

[ 本帖最后由 wonew1228 于 2008-4-3 19:39 编辑 ]

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-4-3 21:19:17 | 只看该作者
我先顶一下!谢谢各位,请各位发表一下看法!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-4-4 07:37:52 | 只看该作者
spy看下对象属性?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-4-4 22:08:56 | 只看该作者
还不太明白楼主的意思,我理解的是,在如图的页面中,当点击一个科目名称时,就要求能获取到一个序号;
如果是这样的话,首先要解决在页面中识别对象的问题,也就是要先让QTP识别出“科目名称”,如果能识别的话我们可以这样做:
1、首先使用getroproperty方法获得该页面中所有的“科目名称”对象,getropropery返回的是一个list,list中每一个都是"科目名称”对象。
2、使用list对象的count方法,我们可以确定在该页面中一共有多少个“科目名称”对象;
3、编写vbs脚本,创建一个数组,大小为list.count,然后使用循环i = 1 to list.count,根据i值来访问数组中的“科目名称”,这样我们不仅可以将每一个“科目名称”与序号对应起来,我们还可以获得任意“科目名称”的序号。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-4-6 10:08:06 | 只看该作者
原帖由 dreamever 于 2008-4-4 22:08 发表
还不太明白楼主的意思,我理解的是,在如图的页面中,当点击一个科目名称时,就要求能获取到一个序号;


当点击一个科目名称时,他获取的是整个页面的属性,而不是科目名称的属性,所以这快比较棘手!

spy看下对象属性,我看了他对象属性改了好多东西,还是没有结果,不知道大家有什么更好的方法没有

再次谢谢两位高手指点,同时请进来的都发表一下看法,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-4-6 17:06:36 | 只看该作者
各位高手,都发表一下自己的见解,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-4-6 19:32:46 | 只看该作者
楼主,不明白你的意思。这个页面中的包含的东西,一般有两种可能(我自己的看法), 或者是表,或者是子对象。 你用那个对象管理器把所有的对象抓下来。看看。 不要用sky,那个抓下来的是属性。看不出层次关系的。

我的见解。你可以看看。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-4-7 09:59:52 | 只看该作者
要实现如此要求,个人认为单纯录制是不可取得,我认为最有效和稳定的方法是从页面源代码解析入手,也就是通过查看网页源码(看图片你的是网页)找到颜色标志语句,分析语句得到你所需要的“14”编号。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-4-7 10:02:24 | 只看该作者
哦,是这样子
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-4-7 10:46:14 | 只看该作者
用object spy查看整个对象的属性,是webtable还是其他
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-4-7 12:50:56 | 只看该作者
我看了他的原码,是四个表在嵌套,在对象管理器看到也有四个表,表中有两组表名一样:前两个显示名字叫"查询结果",后两个显示名字叫"序号";我用最后一个表,但是取到的不是我想要的那个表的值;  现在我想解决的问题是:怎样给两个在对象管理器中表名显示一样的表修改名字,这样我就可以取到我真正想要的表.谢谢

[ 本帖最后由 wonew1228 于 2008-4-7 12:53 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 23:40 , Processed in 0.103584 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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