在QTP的帮助文档中,介绍了通过Dictionary对象来在Action之间共享数据的方法,就是在注册表中添加一个保留对象(reserved object),例如“GlobalDictionary”,把Dictionary对象作为环境变量来使用,可以在多个Action之间共享数据。文档中仅介绍了如何在注册表中添加这个对象的注册信息,实际上还可以设置更多的注册信息,让添加的保留对象更好用、更强大。
本文将深入探索QTP的保留对象机制,以及如何利用QTP的保留对象机制来简化测试脚本的编写工作。
一、 什么是保留对象?
在QTP自动化测试脚本编写过程中,我们通常会使用QTP提供的一些函数或对象,例如帮助文档中列出的Utility中的对象:
Crypt Object Parameter Object |
这些都是QTP的保留对象,或者称之为“内置对象”,它们封装了各种常用的函数,对于简化测试脚本的编写起到很大的作用,例如使用DotNetFactory这个保留对象就可以方便地访问、创建和使用.NET的对象,下面是一个小例子,用于创建.NET的Form窗体对象,显示一段时间后关闭:
Set var_CreateInstance =DotNetFactory.CreateInstance("System.Windows.Forms.Form", "System.Windows.Forms") var_CreateInstance.Show wait 2 var_CreateInstance.Close |
二、 注册自定义保留对象
按照QTP的帮助文档的提示,我们可以通过修改注册表的方式来添加自定义的保留对象。例如,添加Dictionary保留对象的方法如下:
1、打开注册表,定位到下面注册项:
HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\ReservedObjects |
实际上,从该注册项所包含的子项可以看到,QTP的常用保留对象都列在这里了,例如:DataTable、DotNetFactory、Environment等。而我们要做的是把一些自定义的保留对象添加进去。
2、添加一个名为“GlobalDictionary”的注册项,如图所示:
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。