(三)框架经理-FrameworkManager简介

发表于:2009-1-08 16:57

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

 作者:译者:陈能技    来源:51Testing投稿

  ● clsTreeLevel类

  clsTreeLevel类用于构建Excel文件中所描述的对象树的实例。实例化的对象树用一个公共变量oRoot来保持,通过oRoot,可以访问到对象树中的任何一个指定的节点,例如:oRoot.GetLeaf(Identifier),这个方法返回对象节点的实例。

  对象树的每个节点都有一个GetChildList和GetParentList方法,用于返回当前节点的儿子对象列表或父亲对象列表,通过这两个方法可以实现对象树节点的导航,访问任何需要的节点。

  通过oNode.QTPObject.GetROProperty可以获取某个节点对象的属性,例如QTPObject.GetROProperty("enabled")返回对象节点的enabled属性。

  每个节点对象都有一个Input方法,用于对被测试应用程序中的相应对象做输入操作,例如单击一个按钮、设置日期等。

  每个节点对象都有一个Value属性,可以返回对象的当前值。

  如果你想对节点对象做额外的非标准的输入操作,则可以在各输入子类(mini-class)中定义个性化的操作,然后通过ExecuteCustom命令来激活它们。

  ● 输入子类(InputClasses)和随机值子类(RandomValueClasses)

  为了保持主类(clsTreeLevel)的代码稳定、清晰和简洁,处理实际对象的操作和输入并没有在主类中实现,而是在单独的子类中处理,每一个子类负责特定类型的对象的任务处理,例如InputTextClass用于处理标准的文本输入框,InputComboboxClass则用于处理标准combo-box输入框。

  目前为止,FrameworkManager提供两种类型的子类(mini-class):输入类(Input)和随机值类(RandomValue)。输入类用于处理对象,随机值类用于产生随机值。每个节点对象通过Excel表格中的设置的InputType和RandomValueType来关联相关的子类。

  可以为FrameworkManager扩展新的子类。如果碰到未处理的控件,可以立即编写一个新的子类,在Excel文件中设置相关的类名即可,而不需要更新那些select-case或if结构语句。

  五、FrameworkManager的使用方法

  基于前面对FrameworkManager框架的分析,我们基本上明白了FrameworkManager的整体框架的原理。下面简单介绍一下FrameworkManager的使用方法。

  首先,需要在Test的Resources中添加FrameworkManager框架文件目录中的Libraries下的几个文件,包括clsTreeLevel.vbs、General.vbs、InputClasses.vbs、RandomValueClasses.vbs,如图2所示。

  

  图2

  添加了这些库文件后,就可以使用FrameworkManager了。针对被测试应用程序,我们还需要为其建立对象树,这个需要在ObjectTree.xls文件中进行编辑。包括各个对象节点以及对象节点所对应的输入操作等。

  有了对象树后,我们就可以通过类似下面的脚本来使用FrameworkManager进行对象的测试:

  Call oRoot.GetLeaf("VB Demo_Example 1_Field 1").Input("Random")

  读者可以先参考FrameworkManager框架所附带的Demo程序来了解FrameworkManager的使用方法。然后再修改ObjectTree.xls文件,替换成自己的测试项目中的对象和所需的输入操作。

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

相关阅读:

框架经理-FrameworkManager简介(二)

框架经理-FrameworkManager简介(一)

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

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号