`
touchinsert
  • 浏览: 1335102 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

【软件测试自动化-VBScript基础讲座 7】== 工厂设计模式 ==

阅读更多

本文主要讲解一种强大的设计模式,在阅读本文之前请先确保你已经理解了一下几篇文章:

<!-- google_ad_client = "pub-9907354422678176"; /* 728x90, 创建于 09-12-1 */ google_ad_slot = "0609866937"; google_ad_width = 728; google_ad_height = 90; //-->

【软件测试自动化-VBScript基础讲座 3】== 类的组成 ==

http://blog.csdn.net/zzxxbb112/archive/2009/11/13/4805618.aspx

【软件测试自动化-VBScript基础讲座 4】== Dictionary 对象 ==

http://blog.csdn.net/zzxxbb112/archive/2009/11/18/4830732.aspx

【软件测试自动化-VBScript基础讲座 6】== 单例模式 ==

http://blog.csdn.net/zzxxbb112/archive/2009/11/26/4879692.aspx

  • 工厂模式 ---- 一种创建模式,也就是说它可以用于创建和初始化某个对象,就像它的名字一样,我们可以把我们需要东西都放在这个工厂里,并可以根据我们的需要为此工厂抽象出一些方法,并提供相应的接口来调用,这样我们就可以自由的通过这些接口来拿工厂里的方法,这就是此设计模式的作用。接下来我们就来看一个最简单的额例子。

Function ObjectFactory(sObjectName)
Select Case sObjectName
Case "Search Edit"
Set ObjectFactory = Browser("micClass:=Browser")._
Page("micClass:=Page").WebEdit("name:=wd")
Case "Search Button"
Set ObjectFactory = Browser("micClass:=Browser")._
Page("micClass:=Page").WebButton("name:=百度一下")
Case Else
Set
ObjectFactory = Nothing
End Select
End Function
ObjectFactory("Search Edit").Set "zzxxbb112"
ObjectFactory("Search Button").click

以上代码是一个最简单的演示,此代码不一定有实际用途,主要是为了能让大家更好的理解工厂模式,我们可以看到使用以上的方法,我们可以很方便的管理我们需要的对象,并对其进行命令式的调用,并可以为这些对象创建一个公共接入点。

以上这个例子随便可以使用我们调用方便,并且易于实施和维护,但它缺有个致命的缺陷,那就是当使用工厂模式创建完对象之后,如果再次进行创建,它就会再实例化一个对象出来(特别是针对CREATEOBJECT命令的情况下),这样就会出现对象混乱的现象,解决方案就是使用单例模式凝聚对象实体,工厂模式来管理实时各个对象。来看下一个例子。

Public oOutputs
Set oOutputs = New OutFactory

Class OutFactory

Public Channels '定义变量
Private Sub Class_Initialize
Set
Me.Channels = CreateObject("Scripting.Dictionary")
End Sub
Private Sub Class_Terminate
Set
Me.Channels = Nothing
End Sub
Public Sub
Construct (sChannelName, sChannelType)
Dim oNewChannel
Select Case sChannelType
Case "excel"
'创建一个EXCEL的SINGLETON类
Set oNewChannel = New ExcelWrapper
Case "fso"
'创建一个FSO的SINGLETON类
Set oNewChannel = New fsoWrapper
Case "DB"
'创建一个ADO的SINGLETON类
Set oNewChannel = New DBWrapper
End Select
'把类都存储起来
Me.Channels.Add sChannelName, oNewChannel
End Sub
End Class

'***********构造方法**********
oOutputs.Construct "excel_instance","excel"
oOutputs.Construct "fso_instance","fso"
oOutputs.Construct "DB_instance","DB"
'***********直接拿我们需要的东西,并进行操作************
oOutputs.Channels("excel_instance").whatever
'此处的WHATEVER是EXCEL的SINGLETON类中的自定义方法,这里就用WHATEVER代替

通过上面的封装我们可以得到一个单体独立凝聚且易于实施和管理维护的工厂类。通过工厂的核心来创建、储存、管理我们需要的输出机制,并通过关键字请求进行对象输出,是一种在测试设计中非常重要的设计模式。

分享到:
评论

相关推荐

    软件测试自动化-QTP系列讲座(01-52)

    《软件测试自动化-QTP系列讲座》是一套由zzxxbb112编撰的全面介绍QTP(QuickTest Professional)的教程,包含了从基础到高级的52个主题,旨在帮助读者深入理解和掌握自动化测试工具QTP的使用技巧。QTP,现已被命名为...

    ppsdown绿色软件下载站

    ppsdown绿色软件下载站 &lt;%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%&gt; &lt;%charset="gb2312"%&gt; &lt;!--#include file="inc/config.asp"--&gt; &lt;!--#include file="inc/Function.asp" --&gt; &lt;%myclass="default"%&gt; &lt;!--#include ...

    01-VBScript脚本语言基础(一)语法基础(L)

    01-VBScript脚本语言基础(一)语法基础(L)

    千锋软件测试教程:自动化测试框架-HPUFT精解

    本节课程从自动化测试概述、UFT(QTP)脚本增强、VBscript脚本编程及Python等,扣丁学堂软件测试技术交流群:338750406 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    asp网站集锦你肯定喜欢

    ' ADO constants include file for VBScript ' '-------------------------------------------------------------------- '---- CursorTypeEnum Values ---- Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 ...

    《软件测试技术》_实验报告_测试用例设计与自动化测试

    《软件测试技术》实验报告——测试用例设计与自动化测试主要涵盖了两个核心领域:功能自动化测试和性能自动化测试。实验旨在让参与者掌握自动化测试工具,如QTP(QuickTest Professional,现已被HP Unified ...

    QTP自动化测试之VBScript基础

    VBS是学习使用QTP必须要掌握的基础知识,要做QTP自动化测试高手,建议先学习点VBS基础

    第3章--VBScript编程基础ppt课件(全).ppt

    第3章--VBScript编程基础ppt课件(全).ppt

    计算机软件-编程源码-VBScript与JScript实例教程.zip

    VBScript(Visual Basic Script)和JScript是两种广泛应用于Web开发和系统自动化脚本的编程语言,它们在互联网早期尤其流行。在这个“计算机软件-编程源码-VBScript与JScript实例教程.zip”压缩包中,你将找到一系列...

    计算机软件-编程源码-VBScript 揭秘.zip

    总的来说,VBScript是一种功能强大且易于学习的脚本语言,它简化了在Windows环境和Web开发中的自动化和动态内容生成。尽管现代Web开发中更多地转向了JavaScript和其他更强大的框架,但VBScript在某些场景下仍然是一...

    【软件测试自动化-QTP系列讲座9】AutoItX技术的应用

    首先介绍一下AutoIt:  AutoItv3是用以编写并生成具有BASIC语言风格的脚本程序的免费软件,它被设计用来在WindowsGUI(用户界面)中进行自动操作。通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化...

    AUTOnomyV-基于VBScript的Web自动化测试工具

    "AUTOnomyV"就是一款专门针对Web应用的自动化测试工具,它基于VBScript(Visual Basic Script)这一强大的脚本语言,为用户提供了一种高效、便捷的方式来执行重复的测试任务。 VBScript是微软公司开发的一种轻量级...

    软件测试课件5-7章

    "软件测试课件5-7章"涵盖了软件测试的一些核心概念和方法,包括第五章的Winrunner自动化测试工具,以及第六章和第七章可能涉及的其他测试主题。下面将详细阐述这些章节中的知识点。 **第五章:Winrunner自动化测试*...

    软件测试自动化

    《软件测试自动化》 在当前的软件测试领域,随着行业的发展,对测试人员的要求日益提高。不仅要求具备编写测试用例、执行测试和发现缺陷的能力,还期望他们精通至少一种脚本语言,如VBScript、Perl或Ruby,熟悉至少...

    自动化测试脚本vbscript学习

    自动化测试脚本vbscript学习,软件测试自动化书籍

    软件测试自动化工具QTP学习

    **QTP(QuickTest Professional)**,现在被称为UFT(Unified Functional Testing),是HP公司推出的一款功能强大的自动化测试工具,主要用于软件的功能测试和回归测试。它适用于多种应用程序,包括Web、桌面、移动...

    商业编程-源码-VBScript JScript解释器源代码.zip

    此外,商业编程中,VBScript和JScript常常用于系统集成、自动化测试、批处理脚本等场景。掌握它们的解释器源代码,意味着你可以更好地适应这些应用场景,解决可能出现的技术难题,甚至可以根据业务需求进行定制化的...

    VBScript基础教程中文版

    VBScript(Visual Basic Script Edition)是一种轻量级的脚本语言,主要应用于Windows环境,尤其在Web开发和自动化任务中发挥着重要作用。本基础教程旨在为初学者提供全面且深入的VBScript学习指南,帮助他们掌握这...

    VBScript基础

    VBScript的基础知识是每个想要在网页设计、系统管理或者自动化任务中使用该语言的开发者必须掌握的。 1. **变量与数据类型**: - VBScript支持几种基本数据类型,包括String(字符串)、Integer(整型)、Double...

Global site tag (gtag.js) - Google Analytics