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)的更多相关文章

  1. QTP自传之web常用对象

    随着科技的进步,“下载-安装-运行”这经典的三步曲已离我们远去.web应用的高速发展,改变了我们的思维和生活习惯,同时也使web方面的自动化测试越来越重要.今天,介绍一下我对web对象的识别,为以后的 ...

  2. CSS判断不同分辨率显示不同宽度布局CSS3技术支持IE6到IE8

    CSS判断不同分辨率浏览器(显示屏幕)显示不同宽度布局CSS3技术支持IE6到IE8.将用到css3 @media样式进行判断,但IE9以下版本不支持CSS3技术,这里DIVCSS5给大家介绍通过JS ...

  3. Unity技术支持团队性能优化经验分享

    https://mp.weixin.qq.com/s?__biz=MzU5MjQ1NTEwOA==&mid=2247490321&idx=1&sn=f9f34407ee5c5d ...

  4. 达梦产品技术支持培训-day7-DM8数据库备份与还原-原理

    (本文部分内容摘自DM产品技术支持培训文档,如需要更详细的文档,请查询官方操作手册,谢谢) 1.DM8备份还原简介 1.1.基本概念 (1)表空间与数据文件 ▷ DM8表空间类型: ▷ SYSTEM ...

  5. 招聘 微软全球技术支持中心 sql server组

    微软亚太区全球技术支持中心(APGC CSS)是微软为个人用户.开发者.IT 专业人员到合作伙伴和企业级合作伙伴提供全方位.多元化的服务和技术支持的部门.一个优秀的SQL Server技术支持工程师应 ...

  6. Win7 远程桌面 错误代码:5 异常处理(您的远程桌面会话即将结束 此计算机的虚拟内存可能不足。请关闭其他程序,然后重试连接远程计算机。如果问题仍然存在,请联系网络管理员或技术支持。)

    问题表现: 在用windows7 远程桌面连接其他电脑时,出现错误提示对话框—-标题为“严重错误(错误代码:5)”,内容为“您的远程桌面会话即将结束 此计算机的虚拟内存可能不足.请关闭其他程序,然后重 ...

  7. Dynamic CRM 2013学习笔记(四十四)CRM技术支持

    有时我们经常遇到一些CRM的问题,一时又无法解决,这时我们可能要找下外援,下面列出一些基本的技术支持.   1. CRM 论坛 https://community.dynamics.com/crm/f ...

  8. BX2001: IE 支持使用 window.clipboardData 访问系统剪贴板,Chrome 和 Safari 中存在类似的 Clipboard 对象但尚未实现,Firefox 和 Opera 不支持这类对象

    http://www.w3help.org/zh-cn/causes/BX2001 标准参考 无 问题描述 IE 支持使用 window.clipboardData 对象内的一系列方法访问系统剪贴板: ...

  9. 启用VTX技术支持启动android的虚拟机 - 报错

    第一次启用VTX技术支持启动android的虚拟机,启动时提示如下错误: Starting emulator for AVD 'AVD_for_Android_TV_1080p_by_Google'e ...

随机推荐

  1. tabcontrol动态生成选项卡,并且在选项卡中添加窗体

    http://blog.csdn.net/zx13525079024/article/details/6084733 今天在论坛上看到有人问到,如果在点击TRVEVIEW时动态生成tabcontrol ...

  2. luogu P5337 [TJOI2019]甲苯先生的字符串

    传送门 所以这题和字符串有什么关系 首先可以写出dp,\(f_{i,j}\)表示前\(i\)位,最后一个字符是\(j\)的方案,转移枚举下一位,只要不在大串中前后相邻即可.然后矩乘优化即可 // lu ...

  3. 神经网络中的反向传播法--bp【转载】

    from: 作者:Charlotte77 出处:http://www.cnblogs.com/charlotte77/ 一文弄懂神经网络中的反向传播法——BackPropagation 最近在看深度学 ...

  4. 数据库管理利器——Navicat Premium v12.1.25 下载和安装

    目录 1. 按 2. 新功能 3. 安装 4. 激活 5. 下载地址 1. 按 Navicat Premium 是一套数据库管理工具,让你以单一程序同時连接到 MySQL.MariaDB.SQL Se ...

  5. elasticsearch——Rest Client

    https://www.jianshu.com/p/66b91bec12e3 elasticsearch——Rest Client 0.2372018.05.10 15:23:03字数 1287阅读 ...

  6. 解决tcp粘包

    粘包现象:只有tcp协议才会产生粘包,udp协议不会产生粘包 1.tcp协议下,发送端会采用一个优化算法(Nagle算法),把间隔时间短,数据比较小的包合并到一起,再一起发送过去,造成粘包 2.发送端 ...

  7. 洛谷 P2704 [NOI2001]炮兵阵地 (状态压缩DP+优化)

    题目描述 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队.一个NM的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P" ...

  8. Linux读写物理内存

    一.基础知识 1.打开设备文件: mem是一个字符设备文件,是计算机主存的一个映像.通常只有root用户对其有读写权限.因此只有root用户能进行这些操作. 如果要打开设备文件/dev/mem,需要系 ...

  9. 高考数学九大超纲内容(1)wffc

    我校2016$\thicksim$2017学年度(上期)半期高三(理科)考试第12题 已知奇函数\(f(x)\)的定义域是\((-1,0)\bigcup\hspace{0.05cm}(0,1)\),\ ...

  10. 网络编程基础-socket的简单实用

    目录 1.软件开发架构 客户端与服务端的作用 C/S架构: B/S架构: 2.网络编程 3.互联网协议 socket: socket的具体工作流程: socket(套接字)的内置方法 1.软件开发架构 ...