51Testing软件测试论坛
标题:
高手请进!!!录制一个对象的问题(苦想多日,没有结果,请高手指点)
[打印本页]
作者:
wonew1228
时间:
2008-4-3 19:37
标题:
高手请进!!!录制一个对象的问题(苦想多日,没有结果,请高手指点)
在录制脚本过程中,要录制对象中的数据,如图:
要求:知道其中的黄色部分的内容,需要根据黄色部分的内容找到对应的序列号(绿色部分)。比如知道“打包贷款”,要求他能自动找到序列号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 编辑
]
作者:
wonew1228
时间:
2008-4-3 21:19
我先顶一下!谢谢各位,请各位发表一下看法!
作者:
风过无息
时间:
2008-4-4 07:37
spy看下对象属性?
作者:
dreamever
时间:
2008-4-4 22:08
还不太明白楼主的意思,我理解的是,在如图的页面中,当点击一个科目名称时,就要求能获取到一个序号;
如果是这样的话,首先要解决在页面中识别对象的问题,也就是要先让QTP识别出“科目名称”,如果能识别的话我们可以这样做:
1、首先使用getroproperty方法获得该页面中所有的“科目名称”对象,getropropery返回的是一个list,list中每一个都是"科目名称”对象。
2、使用list对象的count方法,我们可以确定在该页面中一共有多少个“科目名称”对象;
3、编写vbs脚本,创建一个数组,大小为list.count,然后使用循环i = 1 to list.count,根据i值来访问数组中的“科目名称”,这样我们不仅可以将每一个“科目名称”与序号对应起来,我们还可以获得任意“科目名称”的序号。
作者:
wonew1228
时间:
2008-4-6 10:08
原帖由
dreamever
于 2008-4-4 22:08 发表
还不太明白楼主的意思,我理解的是,在如图的页面中,当点击一个科目名称时,就要求能获取到一个序号;
当点击一个科目名称时,他获取的是整个页面的属性,而不是科目名称的属性,所以这快比较棘手!
spy看下对象属性,我看了他对象属性改了好多东西,还是没有结果,不知道大家有什么更好的方法没有
再次谢谢两位高手指点,同时请进来的都发表一下看法,谢谢!
作者:
wonew1228
时间:
2008-4-6 17:06
各位高手,都发表一下自己的见解,谢谢!
作者:
getfly
时间:
2008-4-6 19:32
楼主,不明白你的意思。这个页面中的包含的东西,一般有两种可能(我自己的看法), 或者是表,或者是子对象。 你用那个对象管理器把所有的对象抓下来。看看。 不要用sky,那个抓下来的是属性。看不出层次关系的。
我的见解。你可以看看。
作者:
davy_chen
时间:
2008-4-7 09:59
要实现如此要求,个人认为单纯录制是不可取得,我认为最有效和稳定的方法是从页面源代码解析入手,也就是通过查看网页源码(看图片你的是网页)找到颜色标志语句,分析语句得到你所需要的“14”编号。
作者:
evarei
时间:
2008-4-7 10:02
哦,是这样子
作者:
夜来烧
时间:
2008-4-7 10:46
用object spy查看整个对象的属性,是webtable还是其他
作者:
wonew1228
时间:
2008-4-7 12:50
我看了他的原码,是四个表在嵌套,在对象管理器看到也有四个表,表中有两组表名一样:
前两个显示名字叫"查询结果"
,
后两个显示名字叫"序号";
我用最后一个表,但是取到的不是我想要的那个表的值;
现在我想解决的问题是:怎样给两个在对象管理器中表名显示一样的表修改名字,这样我就可以取到我真正想要的表.谢谢
[
本帖最后由 wonew1228 于 2008-4-7 12:53 编辑
]
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2