51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2288|回复: 7
打印 上一主题 下一主题

[原创] 这样的控件如何定义虚拟对像?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-4-6 13:41:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1:图中的FireWay hit那一行,是一些类似单选按钮的控件(每次只能选一个,当然也可以一个都不选).由于QTP无法识别这些控件,所以我就把其中任意一个(我的意思是图中的用红线圈起来的LHR整体)设置成虚拟对象(button类型的,Radio 类型的都试过),我现在遇到的问题是.在录制脚本的时候,只有第一次点它才会有相应的脚本信息写出QTP,再选其它列的HLR的时候,就没有相应的脚本记录信息了.
2:GIR那一行里的YES 和NO,当你点选它们的时候会相互交替出现的.GTP也无法识别,将其设为Button类型的虚拟对象,还是出现同样的问题,只有点第一次的时候有效.无法对其它列的YES和NO进行选择.
3:UP&DOWN和SAND SAVE这两行的图标,和问题1 里描述的一样.我将一对U和S设成一个虚拟对象,同样的问题也会出现,只有第一次会生效,才选其它列的UP&DOWN的按钮的时候脚本也无法记录到QTP中.
希望大家能给些意见.谢谢

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-4-6 14:04:29 | 只看该作者
sdlkfj5 如果是我的问题描述不够详细的话,希望各们对虚拟对象熟悉或感兴趣的战友能提出宝贵意见.
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-4-7 07:14:10 | 只看该作者
如果可以的话还是加上QTP的插件再编译

不可以的话看一看强制对象

最后再看虚拟对象,
我看是一个checkbox 一个虚拟对象
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-4-7 11:06:17 | 只看该作者
如果你X件加载了的话,用SPY看看先
看看是不是可以通过描述性编程来解决这个选择的问题。

如果用虚拟对象,为什么拆开设置成几个呢 比如第一个 拆成仨,第二,三拆成俩?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-4-17 15:35:57 | 只看该作者
经过一个多星期的研究,目前只学会用编程语言去实现,无法录制的脚本问题.

to:skblackcat我并没有拆开设置成几个虚拟对象.你可能误解我的意思了!sdlkfj5 因为一行里有好几个,同样的图标,我的意思是说,对于每行里的每个图标我都设置成虚拟对象(因为以前好像听人说过虚拟对象是针对坐标的sdlkfj4 ,所以我就把网页上出现的所有的图标都定义成虚拟对象.sdlkfj9 )

对于用使用虚拟对象的方法实现脚本无法录制的问题,目前还没有想出解决方法,希望各位能多提意见?谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-4-17 15:56:34 | 只看该作者
对于Green In Regulation那一行的红色NO点一下变成绿色的YES初始情况下是红色的NO.
我是通过下面的脚本来实现在脚本回放时,将其变成绿色的YES的
For i=2 to 10
     Browser("GM").Page("ActiveGolf.com_7").WebTable("Hole:").ChildItem (8,i,"Image",0).click
Next

对于FireWay hit那一行,我将它们每个都加到对象库中,然后在带码中写入如下脚本实现回放时模拟鼠标的操作.
Browser("GM").Page("ActiveGolf.com_7").Image("ctl00$ContentPlaceHolder1$L_Fa").Click
Browser("GM").Page("ActiveGolf.com_7").Image("ctl00$ContentPlaceHolder1$H_Fa_2").Click
Browser("GM").Page("ActiveGolf.com_7").Image("ctl00$ContentPlaceHolder1$R_Fa_3").Click
Browser("GM").Page("ActiveGolf.com_7").Image("ctl00$ContentPlaceHolder1$L_Fa_4").Click
Browser("GM").Page("ActiveGolf.com_7").Image("ctl00$ContentPlaceHolder1$H_Fa_5").Click

虽然这种方法可以解决回放时模拟鼠标操作的情况,但是针对FireWay Hit这一行,我必须把每个图标都手动加入到对象库中.FireWay Hit 这一行有9列,每列里面又有三个小图标(L,H,R),也就是说针对这一个表我要往对象库中加入27次.sdlkfj7 如果一个网页中有两张以上的这种表格的话,那光是往对象库中加这些图标,工作量就可想而知.
希望高人给点指点!!!sdlkfj3

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

使用道具 举报

该用户从未签到

7#
发表于 2007-4-17 17:28:51 | 只看该作者
hen  fansuo a
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-4-17 21:02:08 | 只看该作者
正如楼上这位任兄所说的一样,很是烦.也许这就是为什么好多人看贴,不发言的原因吧.sdlkfj3
不过不要紧,经过努力,问题还是最终解决了.
Green in Regulation 那一行,在回放的时候出现了一个问题就是用For循环的时候,由于回放太快,导致有些列的按钮无法点上.在For循环语句后加入wait()问题解决.

对于FairWay Hit那一行,还是用WebTable.ChildItem方法去解决.只不过以前对这个函数不是很了解对它里面的第三个参数,了解以后,发现可以通过index来点击一个cell里的不同image!于是问题也就解决了!sdlkfj3
在这里要特别感谢 QTP高手 "破而后立"sdlkfj5 的帮助!
结贴!sdlkfj3
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-10-8 13:31 , Processed in 0.099120 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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