使用VBScript开发自动化测试脚本_第1页
使用VBScript开发自动化测试脚本_第2页
使用VBScript开发自动化测试脚本_第3页
使用VBScript开发自动化测试脚本_第4页
使用VBScript开发自动化测试脚本_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用VBScript开辟自动化测试脚本(转载)

不少人都觉得微软的VBScript功能比较弱,如果从开辟自动化测试的角度来讲:,更是

不可能了。从我对VBScript脚本的了解来看,对一个脚本是否可以做自动化测试需要这个

测试人员具备两方面的知识,第一个,就是对VBScript脚本开辟语言精通,要了解

的核心技术如何更广泛的应用;第二个,就是要有自动化的测试思想,这个一定得是做过测

试工作的能够了解的多一些。

我在软件测试这个行业也是做过不少年了,自己的方向也是自动化测试,对VBScript

脚本也算是了解,在测试过程中也应用了一些,所以来谈谈如何使用VBScript来开辟自动

化测试。

首先先介绍几个可以在自动化测试开辟中用到的VBScript的几个函数。

1、InStr函数

描述:返回某字符串在另一字符串中第一次浮现的,立置.

语法:InStr([start,Istringl,string2[,compare])

InStr函数的语法有以下参数:

参数描述

Star可选。数值表达式,用于设置每次搜索的升始位置。如果省略,将从第一个字

t符的位置开始搜索。如果start包含Null,则会浮现错误,如果已制定compare,

则必须要有start参数。

必选。接受搜索的字符串表达式。

Strin

gl必选。要搜索的字符串表达式。

St应聊,

g2这个

作便鞍钻

Dima,b

〃▲-〃

a=rtyi

b="1345krkrtyi:{""><?}"

IfInStr(b,a)>0Then

MsgBox”测试结果通过〃

Else

MsgBox〃测试结果失败”

EndIf

2、Split函数

描述:返回基于0的一维数组,其中包含指定数目的子字符串。

语法:Split(expression[,delimiter[,count[,start]]])

Split函数的语法有以下参数:

参数描述

Expressi必选。字符串表达式,包含子字符串和分隔符。如果expression为零长度

on字符串,Split返回空数组,即不包含元素和数据的数组。

Delimite可选。用于标识子字符串界限的字符。如果省略,使用空格(””)作为分

r隔符。如果delimiter为零长度字符串,则返回包含整个expression字符串

的单元素数组。

Count可选。被返回的子字符串数目,-1指示返回所有子字符串。

Compare可选。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设

置”部份。

示例:

这个函数主要用于拆分字符串用,在自动化测试开辟中主要用于拆分测试数据。比如:

Dima,b,i

a=*rtl24,y556,57777,<>:/*&%*

b=Split(a,*)

Fori=0ToUbound(o)

MsgBoxb(i)

Next

3、InputBox函数

描述:在对话框中显示提示,等待用户输入文本或者单击按钮,并返回文本框内容。

语法:InputBox(prompt],title][,default][,xpos][,ypos][,helpfile,context])

示例:这个函数主要用于捕获用户输入的信息,在自动化测试开辟中可用于脚本分类执

行。比如:

Dima

a=InputBox(〃请输入登记的号码:"&Chr(13)&Chr(13)&"(注意:一定要使用注册时使用

的登记号码,否则不允许进入系统!)”,〃登录系统”,〃请输入等级的号码“)

SelectCasea

Case"123”

MsgBox”进入A系统“

Case"456”

MsgBox”进入B系统”

CaseElse

MsgBox〃输入的登记号码错误”

EndSelect

4、MsgBox函数

描述:在对话框中显示消息,等待用户单击按钮,并返回一个值指示用户单击的按钮。

语法:MsgBox(prompt、buttons][,title][,helpfile,context])

参数

prompt

作为消息显示在对话框中的字符串表达式。prompt的最大长度大约是1024个字符,

这取决于所使用的字符的宽度。如果prompt中包含多个行,则可在各行之间用回车符

(Chr(13)).换行符(Chr(10))或者回车换行符的组合(Chr(13)&Chr(10))分隔各行。

Buttons

数值表达式,是表示指定显示按钮的数目和类型、使用的图标样式,默认按钮的标识以

及消息框样式的数值的总和。有关数值,请参阅“设置”部份。如果省略,则buttons的

默认值为0。

Title

显示在对话框标题栏中的字符串表达式。如果省略title,则将应用程序的名称显示在

标题栏中。

Helpfile

字符串表达式,用于标识为对话框提供上卜文相关王助的匡助文件。如果已提供

helpfile,则必须提供context。在16位系统平台上不可用。

Context

数值表达式,用于标识由匡助文件的作者指定给某个匡助主题的上下文编号。如果已提

供context,则必须提供helpfileo在16位系统平台上不可用。

设置

buttons参数可以有以下值:

常数值描述

vbOKOnly0只显示确定按钮。

vbOKCancel1显不确定和取销按钮。

vbAbortRetryIgnore2显示抛却、重试和忽略按钮。

vbYesNoCancel3显示是、否和取销按钮。

vbYesNo4显示是和否按钮。

vbRetryCancel5显示重试和取销按钮。

vbCritical16显示临界信息图标。

vbQuestion32显示警告查询图标。

vbExclamation48显示警告消息图标。

vbInformation64显示信息消息图标。

vbDefaultButtonl0第一个按钮为默认按钮。

vbDefaultButton2256第二个按钮为默认按钮。

vbDefaultBuiton3512第三个按钮为默认按钮。

vbDefaultButtonl768第四个按钮为默认按钮。

vbApplicationModal0应用程序模式:用户必须响应消息框才干继续在当前应用程序

中工作。

vbSystemModal4096系统模式:在用户响应消息框前,所有应用程序都被挂起。

第一组值(0-5)用于描述对话框中显示的按钮类型与数目;第二组值(16,32,48,

64)用于描述图标的样式;第三组值(0,256,512)用于确定默认按钮;而第四组值(0,

4096)则决定消息框的样式。在将这些数字相加以生成buttons参数值时,只能从每组值

中取用一个数字。

返回值

MsgBox函数有以下返回值:

常数值按钮

vb()K1确定

vbCancel2取销

vbAbort3抛却

vbRetrv4重试

vblgnore5忽略

vbYes6是

vbNo7否

说明

如果同时提供了hclpfilo和context,则用户可以按F1键以查看与上下文相充应的

匡助主题。

如果对话框显示取销按钮,则按ESC键与单击取销的效果相同。如果对话框包含匡助

按钮,则有为对话框提供的上下文相关匡助。但是在单击其他按钮之前,不会返回任何值。

DimA(100,3,4)

UBound(A,1)返回值为£9

UBound(A,2)返回值为2

UBound(A,3)返回值为3

6、Left、Right和Mid函数

描述:返回指定数目的从字符串的左边算起的字符。

语法:Left(string,length)

描述:从字符串右边返回指定数目的字符。

语法:Right(string,length)

描述:从字符串中返回指定数目的字符。

语法:Mid(string,start[,length])

示例:这个函数主要用于截取字符串,在自动化测试开辟中可用于获取需要的字符串。

比如:

Dima,b,i

〃1〃

a=abc

b="kdkieiosplabckfkif

i=InStr(b,a)

MsBoxMid(b,i+Len(a))

上面简单介绍了几个VBScript的函数的用法,接着我们来谈谈自动化测试,目前我们

提到的自动化测试,其实默认表示的是功能(GUI)的自动化测试,这种自动化测试有几个

主要特点。第一,能够实现对GUI上面的对象进行操作,比如单击按钮、输入信息等;第二,

能够读取外部数据,即实现数据驱动的自动化测试;第三,能够进行实际结果和预期结果比

较,也就是不少人了解的检查点或者叫验证点;第四,能够输出测试结果,是通过还是失败,

如果失败,还需要得到失败的信息。

对于实现第二和第四人特点,测试脚本必须具有读取外部数据和输出数据的能力,这时

仅仅依靠VBScript那几个函数就不能解决这个问题。在VBScript虽然类的概念比较弱,

但对象在VBScript中应用是非常广泛的,其中FileSystemObject对象可以轻松的实现对文

本文件读取和写入。

那末我们先看看怎么使用FileSystemObject对象。先在文本框中输入下面的代码,保

存成.vbs的文件,双击运行试试。

SetobjFSO=CreateObject(''Scripting.FileSystemObject")

SetobjFile=objFSO.CreateTextFile(z,c:\testreport.txt^,Ture)

objFile.WriteLine("这是一个数据写入的演示。*;

objFile.Close

FileSystemObject对象

描述:提供对计算机文件系统的访问。

语法:Scripting.FileSystemObject

根据上面FileSystenObject对象的语法,如果要使用这个对象,首先我们需要创建。

SetobjESO=CreateObject(''Scripting.FileSystemObject^)

FileSystemObject对象包括不少的方法:

BuildPath方法、CopyFilo方法、CopyFolder方法、GreatcFoIder方法、CreateTextFile

方法、DcloteFile方法、DcloteBoldor方法、DrivorExists方法、FileExists方法、

FolderExists方法、GctAbsolutePathname方法、GetBascNamc方法、GctDrivc方法、

GetDriveName方法、GetExtensionName方法、GetFile方法、GetFileName方法、GetFDlder

方法、Getrarentbo1derNeime方法、GetSpecialEolder方法、GetTempName方法、Movefile

方法、MoveFolder方法、OpenTextFile方法。

可以使用OpenTexlFile和CreateTexlFile来创建和打开文件,会返向一个TexlSlream

对象。

TextStream对象

描述:有助于顺序访问文件。

语法:TextStream.{propertymethod)

property和method参数可以是任何与TcxtStrean对象相关联的属性和方法。注意在

实际使用时,TextStream对象由代表从FileSystemObject返回的TextStream对象的变量

取代。

TextStream对象,包括不少的方法和属性:

属性方法

AtEndOfLine属性Close方法

AtEndOfStream属Read方法

性ReadAll方法

Column属性ReadLine方法

Line属性Skip方法

SkipLine方法

Write方法

VriteLine方法

VriteBlankLines方法

从上表中可以看到,使用Read方法和ReadLine方法可以实现数据读取,使用Write

方法和WriteLine方法可以实现数据写入。但在读取和写入完成后,需要使用Close方法关

闭创建的文件。

CrcateObjcct函数

创建并返回一个对ActiveX对象的引用。

语法

CreateObject(class[,servername])

CreateObject函数的语法有如下部份:

部份描述

class必需的;Variant(String).要创建的应用程序名称和类。

servername可选的;Variant(String).要在其上创建对象的网络服务器名

称。

class参数使用appname.objecttype这种语法,包括以下部份:

部份描述

appnamo必需的;Variant(字符串)“提供该对象的应用程序名”

objecttype必需的;Variant(字符串)。待创建对象的类型或者类。

说明

每一个支持自动化的应用程序都至少提供一种对象类型。例如,一个字处理

应用程序可能会提供Application对象,Document对象,以及Toolbar对

象。

要创建ActiveX对象,只需将Ci'eateObject返回的对象赋给一个对象变量:

,声明一个对象变量来存放该对象

'的引用。DimasObject采用后期绑定方式。

DimExcclShcctAsObject

SetExcclShcet=CroatcObjcct(z,Excel.Sheet")

上述代码将启动该应用程序创建该对象,在本例中就是创建一个Microsoft

Excel电子数据表。对象创建后,就可以在代码中使用自定义的对象变量来引用该对

象。在下面的示例中,可以使用对象变量ExcelSheet来访问新建对象的属性和方法,

以及访问MicrosoftExcel的其它对象,包括应用程序对象和单元格集合。

'设置Application对象使Excel可见

ExcelSheet.Appli2ation.Visible=True'在表格的第一个单元中写些文本

ExcelSheet.Cellsd,1).Value="ThisiscolumnA,row1”'将该表格

保存到C:\test.doc目录

ExcelSheet.SaveAs"C:\TEST.DOC”'使用应用程序对象的Quit方法关闭

Excelo

ExcelSheet.Application.Quit'释放该对象变量

SetExcelSheet=Nothing

使用AsObject子句声明对象变量,可以创建一个能包含任何类型对象引用

的变量。无非,该变量访问对象是后期绑定的,也就是说,绑定在程序运行时才进厅。

要创建一个使用前期绑定方式的对象变量,也就是说,在程序编译时就完成绑定,则

对象变量在声明时应指定类ID。例如,可以声明并创建下列MicrosoftExcel引用:

DimxlAppAsExcel.Application

DimxIBookAsExcel.Workbook

DimxlSheetAsExcel.Worksheet

SetxlApp=CreateObject("Excel.Application")

Set

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论