QTP字典对象的强化

发表于:2009-11-05 12:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Founding测试工作室    来源:51Testing软件测试网原创

#
QTP
分享:

  在储存和检索信息的时候,Scripting.Dictionary对象被我们广泛的应用。我们已经做了一系列的例子来阐述它的基本用法。比如,用作全局变量的保存字典,或者用来保存各种方法的参数。

  然而,尽管Scripting.Dictionary功能十分强大,它还是存在一些不可避免的缺陷。我们无法根据一个Index来获取他的对应值。(特别是在使用循环的时候,这点尤为明显。)又比如,当我们试图添加一个已经存在的项,它就会抛出一个异常。它的弱点还体现在合并,输入和输出方面。

  今天,本文将一步一步的介绍,怎样来建立一个新的字典对象。从而使它能够更健壮和更灵活的被我们所使用。在阅读之前,你需要回顾一下VBScript class的相关知识。

  在此强调一下,我们要做的只是对原来的字典对象进行重构。我们需要一个内置的普通Scripting.Dictionary对象,在此基础上给它添加一些更灵活的功能。这种重构的技术在编码方面是很普通的,它使得我们可以对原来的对象进行自主的扩展。就好像,我们是站在巨人的肩膀上工作,站的高看的远。

  我们所做的重构,一般来说不会破坏原来对象的功能。就是说,Scripting.Dictionary原来所包含的所有代码,都会被完整的重现在我们构建的新对象之中。我们保留原先的所有属性和方法,并且拓展我们自己的方法。

  现在就让我们开始吧。

  原始接口:

  首先,我们要定义我们的初始类。建立一个private类型的原始字典对象。下面是需要添加的构造函数和析构函数。

  接下来,我们要构造一些简单的public接口,让我们可以像传统的字典对象一样使用新对象。举例来说,我们需要为新对象添加一个.Count property接口,而且原始的字典对象已经存在了这个接口,那么我们就可以直接套用内置字典对象的.Count property接口。

  ……………………

  查看全文请点击下载:http://www.51testing.com/html/17/n-172317.html

  新的接口:

  最后一个原始接口.Item,已经被我们改写完成了。接下来我们就来创建一些新的接口,从而使得新的字典对象功能更加强大。

  我们第一个要添加的新接口就是.Key。它将根据索引值,返回KEY的真实值。虽然简单,但是很实用。

  接下来,我们添加另一个有意思的新接口.Clone。看名字就可以猜到,它的作用是复制一个当前的字典对象。使得字典对象可以更容易的被其他方法所引用。

  现在,要介绍一个革命性的方法:合并。我们需要建立另一个新的字典对象,然后把它的数据合并到我们的数据对象里。为了避免重复,冲突的问题,我们设定本地的字典对象的内容拥有更高的优先级,我们只添加那些新的项。当我们已经实现了新的.Item和.Key方法以后,要实现合并的功能就变得非常简单了。

  ……………………

查看全文请点击下载:http://www.51testing.com/html/17/n-172317.html

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号