4.2.7 映射无法识别的.NET对象类
在自动化测试过程中,经常会遇到对象无法正常识别为对应插件的封装测试对象,在此类情况中,有时可以采取对象映射的方式来强制把对象改变成插件类型的封装对象。这个步骤也很简单,直接可以在Object Identification下的User-Defined下的object-mapping中,把需要映射的对象加入到此列表中即可,这样QTP如果再次捕获此对象时就会把它强制转化为映射类型的封装对象。但是使用过此功能的读者应该都知道,QTP本身只支持标准Windows类型的对象映射,并不支持.NET类型的对象映射,也就是说无论如何映射,运行的结果也只能是Windows类型的封装对象,无法映射成.NET类型,如图4-46所示。
图4-46
作者发现当使用QTP映射一个无法识别的对象为普通封装对象时,在注册表中会自动生成一条记录。
映射标准封装对象位置:HKEY_USERS→
S-1-5-21-1708537768-2049760794-682003330-500 (可能后面一串字符会和读者的不一样)→
Software→Mercury Interactive→QuickTest Professional→MicTest→Packages→StdPackage→ClassMap下,如图4-47所示。
图4-47
如图4-47中,可以发现一些默认的映射对象以及之前映射的对象记录。左边的方框是无法识别的测试对象类型,右边方框为需要映射的封装测试对象类型。同理,如果在.NET包下也能找到这样一个ClassMap就一定可以直接进行映射了。
映射.NET对象位置:HKEY_USERS→S-1-5-21-1708537768-2049760794-682003330-500 (可能后面一串字符会和读者的不一样)→Software→Mercury Interactive→QuickTest Professional→MicTest→Packages→SwfPackage→ClassMap下,如图4-48所示。
图4-48
分析:
只需要按照图4-48所示的规则添加一行需要映射的记录即可成功映射为.NET对象,有兴趣的读者不妨试一试,此方法也是一种相当实用的技巧。
本文选自《51Testing软件测试作品系列》之九——《精通QTP——自动化测试技术领航》。
本站经人民邮电出版社和作者的授权,近期将进行部分章节的独家连载,敬请期待!
版权声明:51Testing软件测试网获人民邮电出版社和作者授权独家连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关阅读: