【软件测试自动化-QTP系列讲座 49】== 自定义对象强制映射封装类(二) ==
来源:互联网 发布:爱普打印机不接收数据 编辑:程序博客网 时间:2024/05/22 12:39
作者:zzxxbb112
时间:2011/12/12 版权所有,侵权必究。
出处:http://blog.csdn.net/zzxxbb112
在上一次讲座的内容中,我们已经简单介绍了一些对象映射的基础知识,但是qtp本身提供的对象映射其实存在着移植的问题。比如当我们把脚本移植到另外一台机器时此对象就会失效。因为对象映射是跟着配置走的,而这些配置并不会跟着脚本走。这就值得我们去好好思考一下该如何把这些配置一起绑定在脚本上。
针对以上的问题笔者在这里提供大家两种解决方案:
方案1: 使用配置到处方案(Generate Script方式)
优点:方便快捷,导出脚本即可
缺点:只能应用与QTP标准的对象映射
步骤:打开Tools --> Object Identification 在user-defined映射完后点击
推荐保存到主脚本文件夹的配置文件夹中,文件为vbs文件,最好用于加入到环境预配置文件中运行它即可。
这样在更换机器的时候,只需要在其他机器上执行下此文件即可。
方案2: 更改注册表的ClassMap项下的键值 (参考QuickTest Unplugged中高级章节)
优点:可用于QTP非标准映射方式,比如.Net对象映射
缺点:需要对注册表操作脚本比较熟悉
步骤:进入到HKCU --> Software --> Mercury Interactive --> QuickTest Professional --> MicTest --> Packages
可以看到此图中显示出了QTP所有已安装插件的包文件。我们可以展开StdPackage进入到ClassMap
如图所示我们可以看到ClassMap下有很多类和对象
注意看右边,有一个TXEdit是不是很熟悉,没错,它就是之前我们使用QTP进行映射的对象
当使用QTP在Object Identification下的User-defined功能进行映射后,注册表自动会生成这样一行键值
那么这就意味着我们其实可以直接通过修改注册表自动加入自定义对象。
这里笔者建议大家可以直接使用Wsh对象的RegWrite方式封装成vbs脚本来进行映射。
.Net对象无法识别?直接加入注册表即可映射自定义对象
这张图我就不解释了,相应聪明的你一看就明白了。
注意:
此方案必须在启动QTP之前进行,否则无效。
总结:
这两次讲座主要介绍了使用对象映射的方式来解决对象无法识别的情况,以及一些需要注意的事项,当然这只是冰山一角,对于对象无法识别的情况还有千千万万种,针对每种不同的情况有着不同的解决方案,比如访问控件自身接口、通过DotNetFactory访问自定义对象,通过写自定义Dll动态链接库、通过插件扩展开发来解决等等等等,这里我就不一一举例了。
如有任何问题请去IquickTest Q&A问题库进行提问
Rss订阅IQuickTest(关于如何订阅?)
==================================
IQuickTest自动化测试培训开始预定(详情点击)
- 【软件测试自动化-QTP系列讲座 49】== 自定义对象强制映射封装类(二) ==
- 【软件测试自动化-QTP系列讲座 48】== 自定义对象强制映射封装类(一) ==
- 【软件测试自动化-QTP系列讲座 41】== 强制获取文本相对坐标 ==
- 【软件测试自动化-QTP系列讲座 32】== 对象封装属性的真正源头 ==
- 【软件测试自动化-QTP系列讲座 36】== 自定义验证点-HTML模式 ==
- 【软件测试自动化-QTP系列讲座 38】== 自定义场景恢复RecoveryFunction ==
- 【软件测试自动化-QTP系列讲座 50】== 自定义实时控制台输出 ==
- 【软件测试自动化-QTP系列讲座 51】== 自定义消息通知系统 ==
- 【软件测试自动化-QTP系列讲座 2】== 对象库及原理透析 ==
- 【软件测试自动化-QTP系列讲座 19】 == 重写Reporter对象 ==
- 【软件测试自动化-QTP系列讲座 26】==保留对象XmlUtil的应用 ==
- 【软件测试自动化-QTP系列讲座 47】== 虚拟对象的属性描述 ==
- 【软件测试自动化-QTP系列讲座 39】== 注册异类子控件强制注入开启HOOK ==
- 【软件测试自动化-QTP系列讲座 46】== JScript在QTP中的终极探究(二) ==
- 【软件测试自动化-QTP系列讲座 37】== MFL自动化路径模型对象应用 ==
- 【软件测试自动化-QTP系列讲座 43】== MTM多脚本执行管理器(二) 自动化模型篇==
- 【软件测试自动化-QTP系列讲座 43】== MTM多脚本执行管理器(二) 自动化模型篇
- 【软件测试自动化-QTP系列讲座 23】 == QTP中API的应用 ==
- 与OpenGL的第二次约会:超简单动画
- 对象的序列化
- [黑马程序员]面向对象二(构造方法、params、String处理函数)
- 图像处理基本算法
- 关于adr和ldr指令的理解
- 【软件测试自动化-QTP系列讲座 49】== 自定义对象强制映射封装类(二) ==
- Linux下IIS音频驱动程序分析(基于S3C2410+ UDA1341)
- Counting Bloom Filter
- Ubuntu11.10 64Bit版上的Android 4.0 开发环境搭建
- MFC窗口风格(WS_style/WS_EX_style)
- 一扎“笔记”
- 为何写flash的时候要地址左移一位?
- Android的菜单
- 把struts2的struts.xml配置文件分解成多个配置文件