51Testing软件测试论坛

标题: 二问虚拟对象 [打印本页]

作者: farbean    时间: 2008-5-26 14:23
标题: 二问虚拟对象
1, 什么情况下需要用到虚拟对象?
   看到很多资料介绍,在脚本回放时,QTP无法识别的对象,可以通过创建为虚拟对象来识别,是这样的吗? 如果是,那么第二个问题又如何解决?

2, 如果是QTP本身无法识别的对象, 又怎么将其创建为虚拟对象?
作者: Simatu    时间: 2008-5-26 14:42
Tools->Virtual Objects->New Virtual Objects来创建

不过只能创建类型为 button\table\list\check box\radio button的对象

理解不妥之处还望大虾拍砖
作者: farbean    时间: 2008-5-26 14:48
楼上说的我知道, 我要问的不是指这个, 还是要谢一下。

我创建虚拟对象后,回放时还是无法识别,

请了解的先说说我前面提的两问题,谢谢。
作者: Randall    时间: 2008-5-26 21:31
我的理解是:
对于一些非标准控件,QTP有时候没法识别其类型,就回把对象识别成WinObject或者是SwfObject类型,而对于这些对象的操作也就局限在WinObject或者是SwfObject类型的方法里面了。如果使用虚拟对象,可以把它映射成我们想要的控件类型。
曾经的一个项目用.net重写了Menu控件,用qtp录制的时候会把这个下拉菜单识别成SwfObject,选择菜单上某个选项的时候会生成这样的代码SwfObject("XXX").click x,y. 把下拉菜单定义成虚拟对象并映射成list类型后,根据下拉菜单中选项的个数选择虚拟对象的行数,这个录制的时候就会变成 Virtual("XXX").select 3

至于你的问题2, qtp不是没法识别,应该是没法完全识别吧,不能识别控件的类型。
作者: farbean    时间: 2008-5-27 08:53
请问楼上的:
   怎么才能将下拉列表设为虚拟对象呀, 我在选择虚拟对象范围的时候没办法获取到下拉列表那一部分, 只能通过鼠标点击才能看到下拉列表, 因为我这边遇到的下拉列表如日历控件,正常录制的时候是当作两个对象识别的,一个是文本框,另一个是下拉列表,文本框可识别,而下拉列表无法识别.
作者: Simatu    时间: 2008-5-27 09:12
先按住ctrl然后点击鼠标左键盘,等下拉出现,松开ctrl,用鼠标进行定位。
作者: farbean    时间: 2008-5-27 10:49
问题是鼠标左键盘操作无效, 无法使用键盘操作显示下拉列表
作者: farbean    时间: 2008-5-27 11:14
另外, 标记虚拟对象时, 鼠标不能单击, 对象所在窗体无法获取焦点就没办法使用键盘操作了.




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2