QTP技术支持之QTP对象无法识别(转自582357212的个人空间,链接:http://www.51testing.com/html/64/305564-847787.html)
QTP自动化测试从业者,或者很多练习使用QTP开发自动化测试代码的人员遇到最多的问题恐怕就是对象无法识别了,对象无法识别原因有很多种,根据经常对QTP自动化测试脚本开发人员的技术Support,我总结了一下对象无法识别问题,并给出了对应的原因分析简要说明,主要分为以下几种:
一,最简单的,但可能不太常遇到的,QTP对被测对像控件识别混乱,甚至无法识别,例如对.net控件识别为Window控件。
常见原因:
1.检查QTP Add-in中的插件选择是否正确,不同被测对象可能需要不同的Add-in插件。
2.一些Application被测程序 插件正确但是仍会无法识别,这时候在自动化运行和设置那个窗口 选择第一个选项,加入被测程序的.exe路径,和其.exe文件所在的文件夹路径,点击运行,通过QTP自己来启动被测程序,这时候你再用对象查看器查看对象已经可以识别了,此设置一般设置一次则可。
3.先打开了被测程序,后打开QTP,在一些特殊情况下 也会导致QTP无法正确的识别出对象,这时候关掉被测程序,使用QTP启动被测程序,即可识别。
二,最常见的,是运行过程中弹出了对象无法识别的错误。
常见原因:
1.最常见的就是被测控件对象在对象库中的属性值和运行时被测程序中的控件对象属性值不匹配,这时候可以选择暂停QTP运行,如果是使用描述性编程,就需要将描述语句中涉及该对象的属性加到Debug View中,然后通过object SPY查看正在运行的被测控件对象属性,两者对比查找出哪个属性不同,为什么不同,最终解决这个问题。如果是使用对象库的,则查看对象库属性窗口中的对象属性object和object SPY查看正在运行的被测控件对象属性进行对比查看哪个属性不同,如果有不同,改正即可。
2.被测对象在被测程序上找到不止一个,那么这时候通过查看代码中对象属性描述或者对象库中对象属性窗口中的属性和object SPY查看正在运行的被测控件对象属性进行对比,会发现两者一致,因此这时候需要加Index属性或者Location属性值来唯一定位对象,或者能找到其它能够唯一识别出对象的属性加进去也可,至于index值为多少或者Location值为多少,则要根据具体对象所在位置进行分析了。
3.被测对象的父亲找不到,无论描述性编程还是对象库,对象的存在都是有层级结构的,它可能会有儿子对象或者父亲对象,如果它是单独存在,即只有一层的对象 那也不会出现这个错误的。但对于大多数有多层级的对象则有可能出现这个错误了,这时候我们需要找到它的父亲对象,对其属性和通过SPY查看正在运行的被测控件对象属性进行对比,最终找到哪个父亲对象是无法识别的,按照1所述解决它。
4.引用了外部对象库,这时候你可能发现什么都正确,但对象仍是无法识别,这个问题是要检查本地对象库和被引用的对象库,是否是本地对象库扔保留着,但其部分对象属性已经改变,在引用外部对象库后,是否添加过对象到对象库中,QTP在你添加对象到对象库中时,会默认添加到本地对象库中,而不会将其放到引用的外部对象库中。最后确认下对象库引用到哪个Action,是否真的正确引用进来,通过这些检查,你自然就发现问题了,解决方案也就多种多样可以随便选了
三,就是第三方控件无法识别问题了,这个问题很容易发现,但不容易解决,很多常见解决方案是通过坐标来定位对象,但是这个方法平台移植性差,协同开发脚本稳定性差,因此一般会采用其它方案,具体使用什么方案,那就得根据团队手头资源,测试计划,自动化编码人员水平等综合考虑制定了。实在不行可以跟开发协调使用其它对象,或者直接考虑该部分不实现自动化,如果功能块独立 涉及的测试用例也不多可以考虑直接将这块功能点舍弃,不实现自动化,仍由手工执行。
当然对象识别也还有一些特殊情况,需要自己Debug分析,例如一些QTP开发环境问题,QTP版本问题,公共对象使用管理不当问题,等等,这都需要根据具体情况具体分析。
QTP技术支持之QTP对象无法识别(转自582357212的个人空间,链接:http://www.51testing.com/html/64/305564-847787.html)的更多相关文章
- QTP自传之web常用对象
随着科技的进步,“下载-安装-运行”这经典的三步曲已离我们远去.web应用的高速发展,改变了我们的思维和生活习惯,同时也使web方面的自动化测试越来越重要.今天,介绍一下我对web对象的识别,为以后的 ...
- CSS判断不同分辨率显示不同宽度布局CSS3技术支持IE6到IE8
CSS判断不同分辨率浏览器(显示屏幕)显示不同宽度布局CSS3技术支持IE6到IE8.将用到css3 @media样式进行判断,但IE9以下版本不支持CSS3技术,这里DIVCSS5给大家介绍通过JS ...
- Unity技术支持团队性能优化经验分享
https://mp.weixin.qq.com/s?__biz=MzU5MjQ1NTEwOA==&mid=2247490321&idx=1&sn=f9f34407ee5c5d ...
- 达梦产品技术支持培训-day7-DM8数据库备份与还原-原理
(本文部分内容摘自DM产品技术支持培训文档,如需要更详细的文档,请查询官方操作手册,谢谢) 1.DM8备份还原简介 1.1.基本概念 (1)表空间与数据文件 ▷ DM8表空间类型: ▷ SYSTEM ...
- 招聘 微软全球技术支持中心 sql server组
微软亚太区全球技术支持中心(APGC CSS)是微软为个人用户.开发者.IT 专业人员到合作伙伴和企业级合作伙伴提供全方位.多元化的服务和技术支持的部门.一个优秀的SQL Server技术支持工程师应 ...
- Win7 远程桌面 错误代码:5 异常处理(您的远程桌面会话即将结束 此计算机的虚拟内存可能不足。请关闭其他程序,然后重试连接远程计算机。如果问题仍然存在,请联系网络管理员或技术支持。)
问题表现: 在用windows7 远程桌面连接其他电脑时,出现错误提示对话框—-标题为“严重错误(错误代码:5)”,内容为“您的远程桌面会话即将结束 此计算机的虚拟内存可能不足.请关闭其他程序,然后重 ...
- Dynamic CRM 2013学习笔记(四十四)CRM技术支持
有时我们经常遇到一些CRM的问题,一时又无法解决,这时我们可能要找下外援,下面列出一些基本的技术支持. 1. CRM 论坛 https://community.dynamics.com/crm/f ...
- BX2001: IE 支持使用 window.clipboardData 访问系统剪贴板,Chrome 和 Safari 中存在类似的 Clipboard 对象但尚未实现,Firefox 和 Opera 不支持这类对象
http://www.w3help.org/zh-cn/causes/BX2001 标准参考 无 问题描述 IE 支持使用 window.clipboardData 对象内的一系列方法访问系统剪贴板: ...
- 启用VTX技术支持启动android的虚拟机 - 报错
第一次启用VTX技术支持启动android的虚拟机,启动时提示如下错误: Starting emulator for AVD 'AVD_for_Android_TV_1080p_by_Google'e ...
随机推荐
- css实现缩放自适应网页--手机web
一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的? 其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name=" ...
- Spring基础18——通过注解配置bean之间的关联关系
1.组件装配 <context:component-scan>元素还会自动注册AutowiredAnnotaionBeanPostProcessor实例,这是一个bean的后置处理器,该实 ...
- mingetty - 控制台最小的 getty
总览 SYNOPSIS mingetty [--noclear] [--nonewline] [--noissue] [--nohangup] [--nohostname] [--long-hostn ...
- VMware Workstation 卸载时卡在“正在卸载网络驱动程序(Virtual Network Editor夯死)”
出现此种问题,以下方式均无法成功卸载: 控制面板-卸载程序(Virtual Network Editor 未响应) Geek 卸载VMware Workstation(Virtual Network ...
- docker安装MySQL5.7示例!!坑
docker pull mysql 一.错误的启动 [root@localhost ~]# docker run ‐‐name mysql01 ‐d mysql 42f0981990 ...
- 什么是LMDB闪电记忆映射数据库
LightningMemory-MappedDatabase(LMDB)是一个软件库,它以键值存储的形式提供高性能的嵌入式事务数据库.LMDB是用C语言编写的,具有多种编程语言的API绑定.LMDB将 ...
- selenium定位
https://www.cnblogs.com/programer-xinmu78/p/10881766.html https://www.cnblogs.com/eastonliu/p/908830 ...
- mongodb replica set搭建
1/安装mongodb 配置repo: [mongodb-org-3.4]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/red ...
- 千呼万唤始出来——DataV私有部署功能
DataV的开发者们,今天进入你的用户中心,就会发现有一个小惊喜默默的在等待着你.那就是——私有部署功能上线啦! 一直以来私有部署都是一些有需要的小伙伴所望尘莫及的,毕竟高贵的身份摆在那里,现在不用再 ...
- react native 之 在现有的iOS工程中集成react native
在现有的iOS工程中集成react native, 或者说将react native引入到iOS 项目,是RN和iOS混合开发的必经之路 参考官网教程:https://reactnative.cn/d ...