51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1928|回复: 2
打印 上一主题 下一主题

[原创] 对象无法识别的解决办法之一

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-6-9 11:39:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当我们在录制脚本中,有时会遇到某个对象回放时不能识别.那么就可以考虑是不是可以设置个虚拟对象来代替它.将这些不能识别的对象定义为虚拟对象,并将它们映射到标准类,例如按钮或复选框。QuickTest 在运行会话过程中模拟虚拟对象上的用户操作。在测试结果中,虚拟对象显示时类似标准类对象。
  下面我们还是通过一个例子来具体操作一下.这次选用QuickTest的b/s架构的web例子,来录制脚本.录制双击时不能识别,此时需要设置虚拟对象   录出双击脚本如下:
Browser("login").Window("... -- 网页对话框").Page("...").Frame("contentLeft").WebElement("admin").Click
  把button识别成Image(图片)
Browser("login").Page("eDASS-4A审计管理系统").Frame("basefrm").Image("search").Click
1、有时qtp不能识别双击,导致最后回放的时候,QTP不能完成Click操作,弹出报错信息.需要设置虚拟的button对象来代替它.
2、QTP有时把button对象识别成了Image(图片)对象,导致最后回放的时候,QTP不能完成Click操作,弹出报错信息,需要设置虚拟的button对象来代替它.
下面是整个虚拟对象的制作过程:
1.选择“Tools > Virtual Objects > New Virtual Object”。或者,也可以在虚拟对象管理器“Tools > Virtual Objects > Virtual Object Manager”中,单击“NEW”。将打开虚拟对象向导。单击“下一步”。

2.选择要将您的虚拟对象映射到的标准类(这里有六种对象类供你选择,分别是object,button,table,list,check box,radio button).这里我们要映射一个button对象,所以选择button.单击"下一步"

3.单击“标记对象”。选择你要做虚拟对象的区域,拖动鼠标.尽量能覆盖整个你想替代的对象.

4.在“标识对象使用”框中,选择您希望 QTP 标识和映射虚拟对象的方式。

如果您想要 QuickTest 标识所有出现的虚拟对象,请选择“Parent only”。
如果想要 QuickTest 仅标识一次出现的虚拟对象,请选择“Entire parent hierarchy"。
这里我们选择默认的“Parent only”。
5.指定虚拟对象的名称和集合。从集合列表中选择,或通过在“集合名”框中输入新名称来新建集合

点击完成,整个虚拟对象就做好了.
虚拟对象做好后,保存在虚拟对象管理器中.我们可以通过虚拟对象管理器来删除或禁用虚拟对象定义.
选择“Tools > Virtual Objects > Virtual Object Manager”。将打开虚拟对象管理器。

注意:如果希望 QuickTest 在录制时识别虚拟对象,请确保清除“选项”对话框的“常规”选项卡中的“录制时禁止识别虚拟对象”复选框。
接下来我们再来录制一遍刚才的操作,录制代码如下:
  双击:
Browser("login").Window("... -- 网页对话框").Page("...").Frame("contentLeft").WebElement("admin").VirtualButton("button1").Click
Browser("login").Page("eDASS-4A审计管理系统").Frame("basefrm").VirtualButton("button2").Click
在录制过程中值得注意的是,一定要点击到我们做好虚拟对象的范围内,这样QTP才能识别到这个虚拟对象.这里我们的虚拟对象识别成功.再次回放,QTP顺利的执行了脚本.
还有两点要注意的是:
1.虚拟对象管理器中显示的虚拟对象集合存储在您的计算机中,而不是随包含虚拟对象步骤的测试或组件存储。这意味着如果您在测试或组件步骤中使用虚拟对象,则仅当在包含正确的虚拟对象定义的计算机中运行时,该对象在运行会话过程中才能被识别。要将您的虚拟对象集合定义复制到另一个计算机,请将您的 <QuickTest 安装文件夹>\dat\VoTemplate 文件夹的内容(或该文件夹中的单个 .vot 集合文件)复制到目标计算机上的相同文件夹中。
2.仅当录制和运行测试或组件时,才能使用虚拟对象。您不能在虚拟对象上插入任何类型的检查点,也不能使用“对象探测器”来查看其属性。
还有多个类似的对象需要设置虚拟对象.

[ 本帖最后由 oooxiu 于 2010-6-9 11:57 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情

    2016-11-9 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2010-6-17 10:10:27 | 只看该作者
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-11-9 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2010-6-17 10:14:39 | 只看该作者
    为啥我录制的脚本回放时,有的东西就不同步了,该输入值的地方不输入了,常常提示不能为空,然后卡到那里不走了 - -、
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-24 09:05 , Processed in 0.071890 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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