思步网

查看: 104996|回复: 55
打印 上一主题 下一主题

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

    [复制链接]
当我们在录制脚本中,有时会遇到某个对象回放时不能识别.那么就可以考虑是不是可以设置个虚拟对象来代替它.将这些不能识别的对象定义为虚拟对象,并将它们映射到标准类,例如按钮或复选框。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.仅当录制和运行测试或组件时,才能使用虚拟对象。您不能在虚拟对象上插入任何类型的检查点,也不能使用“对象探测器”来查看其属性。
还有多个类似的对象需要设置虚拟对象.





上一篇:十个免费的Web压力测试工具
下一篇:使用 XML 维护 Selenium 自动化测试脚本
[发帖际遇]: shangjie 乐于助人,奖励 2 (金) 金币. 幸运榜 / 衰神榜
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持1 反对反对
回复 论坛版权

使用道具 举报

不知道现在还有多少公司还在用QTP了
[发帖际遇]: 言先生 乐于助人,奖励 8 (金) 金币. 幸运榜 / 衰神榜
鼎力支持!!
好帖是需要鼓励的~
路过的帮顶
其实,很多情况下都是这样的,习惯就好。
非常好,顶一下占位编辑
其实,很多情况下都是这样的,习惯就好。
还不错哦,如果再能多分享一些就perfect了!
非常好,顶一下占位编辑
看起来好像不错的样子
其实,很多情况下都是这样的,习惯就好。
very good.
向楼主学习
支持,赞一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

思步组织思步科技|思步网|火花学堂|思步文库|思步问答|思步英才|天下心
© 2007 思步网 浙ICP备10212573号-4(首次备案号:浙ICP备07035264号)|邮箱:service#step365.com(将#换成@)|服务热线:0571-28827450
在线培训课程|求职招聘|思步文库|官方微信|手机APP|思步问答|微博平台|官方QQ群|交流论坛|软件工程透析|关于我们|申请友链|
点击这里给我发消息     点击这里给我发消息
思步 step365 过程改进 CMMI中文 质量保证 质量管理 流程体系 需求跟踪矩阵 敏捷开发 Scrum 软件度量 项目评审 全员改进 流程管理 人力资源 6sigma 信息安全 ISO27001认证 IT服务管理 ISO20000认证 ISO9000认证 软件测试 SQA 配置管理 IPD 软件工程 PMP认证 PMP试题 PMBOK中文 精益研发 agile 顾问式管理培训
返回顶部