使用VBScript開(kāi)發(fā)自動(dòng)化測(cè)試腳本_第1頁(yè)
使用VBScript開(kāi)發(fā)自動(dòng)化測(cè)試腳本_第2頁(yè)
使用VBScript開(kāi)發(fā)自動(dòng)化測(cè)試腳本_第3頁(yè)
使用VBScript開(kāi)發(fā)自動(dòng)化測(cè)試腳本_第4頁(yè)
使用VBScript開(kāi)發(fā)自動(dòng)化測(cè)試腳本_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

使用VBScript開(kāi)辟自動(dòng)化測(cè)試腳本(轉(zhuǎn)載)

不少人都覺(jué)得微軟的VBScript功能比較弱,如果從開(kāi)辟自動(dòng)化測(cè)試的角度來(lái)講:,更是

不可能了。從我對(duì)VBScript腳本的了解來(lái)看,對(duì)一個(gè)腳本是否可以做自動(dòng)化測(cè)試需要這個(gè)

測(cè)試人員具備兩方面的知識(shí),第一個(gè),就是對(duì)VBScript腳本開(kāi)辟語(yǔ)言精通,要了解

的核心技術(shù)如何更廣泛的應(yīng)用;第二個(gè),就是要有自動(dòng)化的測(cè)試思想,這個(gè)一定得是做過(guò)測(cè)

試工作的能夠了解的多一些。

我在軟件測(cè)試這個(gè)行業(yè)也是做過(guò)不少年了,自己的方向也是自動(dòng)化測(cè)試,對(duì)VBScript

腳本也算是了解,在測(cè)試過(guò)程中也應(yīng)用了一些,所以來(lái)談?wù)勅绾问褂肰BScript來(lái)開(kāi)辟自動(dòng)

化測(cè)試。

首先先介紹幾個(gè)可以在自動(dòng)化測(cè)試開(kāi)辟中用到的VBScript的幾個(gè)函數(shù)。

1、InStr函數(shù)

描述:返回某字符串在另一字符串中第一次浮現(xiàn)的,立置.

語(yǔ)法:InStr([start,Istringl,string2[,compare])

InStr函數(shù)的語(yǔ)法有以下參數(shù):

參數(shù)描述

Star可選。數(shù)值表達(dá)式,用于設(shè)置每次搜索的升始位置。如果省略,將從第一個(gè)字

t符的位置開(kāi)始搜索。如果start包含Null,則會(huì)浮現(xiàn)錯(cuò)誤,如果已制定compare,

則必須要有start參數(shù)。

必選。接受搜索的字符串表達(dá)式。

Strin

gl必選。要搜索的字符串表達(dá)式。

St應(yīng)聊,

g2這個(gè)

作便鞍鉆

Dima,b

〃▲-〃

a=rtyi

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

IfInStr(b,a)>0Then

MsgBox”測(cè)試結(jié)果通過(guò)〃

Else

MsgBox〃測(cè)試結(jié)果失敗”

EndIf

2、Split函數(shù)

描述:返回基于0的一維數(shù)組,其中包含指定數(shù)目的子字符串。

語(yǔ)法:Split(expression[,delimiter[,count[,start]]])

Split函數(shù)的語(yǔ)法有以下參數(shù):

參數(shù)描述

Expressi必選。字符串表達(dá)式,包含子字符串和分隔符。如果expression為零長(zhǎng)度

on字符串,Split返回空數(shù)組,即不包含元素和數(shù)據(jù)的數(shù)組。

Delimite可選。用于標(biāo)識(shí)子字符串界限的字符。如果省略,使用空格(””)作為分

r隔符。如果delimiter為零長(zhǎng)度字符串,則返回包含整個(gè)expression字符串

的單元素?cái)?shù)組。

Count可選。被返回的子字符串?dāng)?shù)目,-1指示返回所有子字符串。

Compare可選。指示在計(jì)算子字符串時(shí)使用的比較類(lèi)型的數(shù)值。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)

置”部份。

示例:

這個(gè)函數(shù)主要用于拆分字符串用,在自動(dòng)化測(cè)試開(kāi)辟中主要用于拆分測(cè)試數(shù)據(jù)。比如:

Dima,b,i

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

b=Split(a,*)

Fori=0ToUbound(o)

MsgBoxb(i)

Next

3、InputBox函數(shù)

描述:在對(duì)話框中顯示提示,等待用戶輸入文本或者單擊按鈕,并返回文本框內(nèi)容。

語(yǔ)法:InputBox(prompt],title][,default][,xpos][,ypos][,helpfile,context])

示例:這個(gè)函數(shù)主要用于捕獲用戶輸入的信息,在自動(dòng)化測(cè)試開(kāi)辟中可用于腳本分類(lèi)執(zhí)

行。比如:

Dima

a=InputBox(〃請(qǐng)輸入登記的號(hào)碼:"&Chr(13)&Chr(13)&"(注意:一定要使用注冊(cè)時(shí)使用

的登記號(hào)碼,否則不允許進(jìn)入系統(tǒng)!)”,〃登錄系統(tǒng)”,〃請(qǐng)輸入等級(jí)的號(hào)碼“)

SelectCasea

Case"123”

MsgBox”進(jìn)入A系統(tǒng)“

Case"456”

MsgBox”進(jìn)入B系統(tǒng)”

CaseElse

MsgBox〃輸入的登記號(hào)碼錯(cuò)誤”

EndSelect

4、MsgBox函數(shù)

描述:在對(duì)話框中顯示消息,等待用戶單擊按鈕,并返回一個(gè)值指示用戶單擊的按鈕。

語(yǔ)法:MsgBox(prompt、buttons][,title][,helpfile,context])

參數(shù)

prompt

作為消息顯示在對(duì)話框中的字符串表達(dá)式。prompt的最大長(zhǎng)度大約是1024個(gè)字符,

這取決于所使用的字符的寬度。如果prompt中包含多個(gè)行,則可在各行之間用回車(chē)符

(Chr(13)).換行符(Chr(10))或者回車(chē)換行符的組合(Chr(13)&Chr(10))分隔各行。

Buttons

數(shù)值表達(dá)式,是表示指定顯示按鈕的數(shù)目和類(lèi)型、使用的圖標(biāo)樣式,默認(rèn)按鈕的標(biāo)識(shí)以

及消息框樣式的數(shù)值的總和。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部份。如果省略,則buttons的

默認(rèn)值為0。

Title

顯示在對(duì)話框標(biāo)題欄中的字符串表達(dá)式。如果省略title,則將應(yīng)用程序的名稱(chēng)顯示在

標(biāo)題欄中。

Helpfile

字符串表達(dá)式,用于標(biāo)識(shí)為對(duì)話框提供上卜文相關(guān)王助的匡助文件。如果已提供

helpfile,則必須提供context。在16位系統(tǒng)平臺(tái)上不可用。

Context

數(shù)值表達(dá)式,用于標(biāo)識(shí)由匡助文件的作者指定給某個(gè)匡助主題的上下文編號(hào)。如果已提

供context,則必須提供helpfileo在16位系統(tǒng)平臺(tái)上不可用。

設(shè)置

buttons參數(shù)可以有以下值:

常數(shù)值描述

vbOKOnly0只顯示確定按鈕。

vbOKCancel1顯不確定和取銷(xiāo)按鈕。

vbAbortRetryIgnore2顯示拋卻、重試和忽略按鈕。

vbYesNoCancel3顯示是、否和取銷(xiāo)按鈕。

vbYesNo4顯示是和否按鈕。

vbRetryCancel5顯示重試和取銷(xiāo)按鈕。

vbCritical16顯示臨界信息圖標(biāo)。

vbQuestion32顯示警告查詢圖標(biāo)。

vbExclamation48顯示警告消息圖標(biāo)。

vbInformation64顯示信息消息圖標(biāo)。

vbDefaultButtonl0第一個(gè)按鈕為默認(rèn)按鈕。

vbDefaultButton2256第二個(gè)按鈕為默認(rèn)按鈕。

vbDefaultBuiton3512第三個(gè)按鈕為默認(rèn)按鈕。

vbDefaultButtonl768第四個(gè)按鈕為默認(rèn)按鈕。

vbApplicationModal0應(yīng)用程序模式:用戶必須響應(yīng)消息框才干繼續(xù)在當(dāng)前應(yīng)用程序

中工作。

vbSystemModal4096系統(tǒng)模式:在用戶響應(yīng)消息框前,所有應(yīng)用程序都被掛起。

第一組值(0-5)用于描述對(duì)話框中顯示的按鈕類(lèi)型與數(shù)目;第二組值(16,32,48,

64)用于描述圖標(biāo)的樣式;第三組值(0,256,512)用于確定默認(rèn)按鈕;而第四組值(0,

4096)則決定消息框的樣式。在將這些數(shù)字相加以生成buttons參數(shù)值時(shí),只能從每組值

中取用一個(gè)數(shù)字。

返回值

MsgBox函數(shù)有以下返回值:

常數(shù)值按鈕

vb()K1確定

vbCancel2取銷(xiāo)

vbAbort3拋卻

vbRetrv4重試

vblgnore5忽略

vbYes6是

vbNo7否

說(shuō)明

如果同時(shí)提供了hclpfilo和context,則用戶可以按F1鍵以查看與上下文相充應(yīng)的

匡助主題。

如果對(duì)話框顯示取銷(xiāo)按鈕,則按ESC鍵與單擊取銷(xiāo)的效果相同。如果對(duì)話框包含匡助

按鈕,則有為對(duì)話框提供的上下文相關(guān)匡助。但是在單擊其他按鈕之前,不會(huì)返回任何值。

DimA(100,3,4)

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

UBound(A,2)返回值為2

UBound(A,3)返回值為3

6、Left、Right和Mid函數(shù)

描述:返回指定數(shù)目的從字符串的左邊算起的字符。

語(yǔ)法:Left(string,length)

描述:從字符串右邊返回指定數(shù)目的字符。

語(yǔ)法:Right(string,length)

描述:從字符串中返回指定數(shù)目的字符。

語(yǔ)法:Mid(string,start[,length])

示例:這個(gè)函數(shù)主要用于截取字符串,在自動(dòng)化測(cè)試開(kāi)辟中可用于獲取需要的字符串。

比如:

Dima,b,i

〃1〃

a=abc

b="kdkieiosplabckfkif

i=InStr(b,a)

MsBoxMid(b,i+Len(a))

上面簡(jiǎn)單介紹了幾個(gè)VBScript的函數(shù)的用法,接著我們來(lái)談?wù)勛詣?dòng)化測(cè)試,目前我們

提到的自動(dòng)化測(cè)試,其實(shí)默認(rèn)表示的是功能(GUI)的自動(dòng)化測(cè)試,這種自動(dòng)化測(cè)試有幾個(gè)

主要特點(diǎn)。第一,能夠?qū)崿F(xiàn)對(duì)GUI上面的對(duì)象進(jìn)行操作,比如單擊按鈕、輸入信息等;第二,

能夠讀取外部數(shù)據(jù),即實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試;第三,能夠進(jìn)行實(shí)際結(jié)果和預(yù)期結(jié)果比

較,也就是不少人了解的檢查點(diǎn)或者叫驗(yàn)證點(diǎn);第四,能夠輸出測(cè)試結(jié)果,是通過(guò)還是失敗,

如果失敗,還需要得到失敗的信息。

對(duì)于實(shí)現(xiàn)第二和第四人特點(diǎn),測(cè)試腳本必須具有讀取外部數(shù)據(jù)和輸出數(shù)據(jù)的能力,這時(shí)

僅僅依靠VBScript那幾個(gè)函數(shù)就不能解決這個(gè)問(wèn)題。在VBScript雖然類(lèi)的概念比較弱,

但對(duì)象在VBScript中應(yīng)用是非常廣泛的,其中FileSystemObject對(duì)象可以輕松的實(shí)現(xiàn)對(duì)文

本文件讀取和寫(xiě)入。

那末我們先看看怎么使用FileSystemObject對(duì)象。先在文本框中輸入下面的代碼,保

存成.vbs的文件,雙擊運(yùn)行試試。

SetobjFSO=CreateObject(''Scripting.FileSystemObject")

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

objFile.WriteLine("這是一個(gè)數(shù)據(jù)寫(xiě)入的演示。*;

objFile.Close

FileSystemObject對(duì)象

描述:提供對(duì)計(jì)算機(jī)文件系統(tǒng)的訪問(wèn)。

語(yǔ)法:Scripting.FileSystemObject

根據(jù)上面FileSystenObject對(duì)象的語(yǔ)法,如果要使用這個(gè)對(duì)象,首先我們需要?jiǎng)?chuàng)建。

SetobjESO=CreateObject(''Scripting.FileSystemObject^)

FileSystemObject對(duì)象包括不少的方法:

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來(lái)創(chuàng)建和打開(kāi)文件,會(huì)返向一個(gè)TexlSlream

對(duì)象。

TextStream對(duì)象

描述:有助于順序訪問(wèn)文件。

語(yǔ)法:TextStream.{propertymethod)

property和method參數(shù)可以是任何與TcxtStrean對(duì)象相關(guān)聯(lián)的屬性和方法。注意在

實(shí)際使用時(shí),TextStream對(duì)象由代表從FileSystemObject返回的TextStream對(duì)象的變量

取代。

TextStream對(duì)象,包括不少的方法和屬性:

屬性方法

AtEndOfLine屬性Close方法

AtEndOfStream屬Read方法

性ReadAll方法

Column屬性ReadLine方法

Line屬性Skip方法

SkipLine方法

Write方法

VriteLine方法

VriteBlankLines方法

從上表中可以看到,使用Read方法和ReadLine方法可以實(shí)現(xiàn)數(shù)據(jù)讀取,使用Write

方法和WriteLine方法可以實(shí)現(xiàn)數(shù)據(jù)寫(xiě)入。但在讀取和寫(xiě)入完成后,需要使用Close方法關(guān)

閉創(chuàng)建的文件。

CrcateObjcct函數(shù)

創(chuàng)建并返回一個(gè)對(duì)ActiveX對(duì)象的引用。

語(yǔ)法

CreateObject(class[,servername])

CreateObject函數(shù)的語(yǔ)法有如下部份:

部份描述

class必需的;Variant(String).要?jiǎng)?chuàng)建的應(yīng)用程序名稱(chēng)和類(lèi)。

servername可選的;Variant(String).要在其上創(chuàng)建對(duì)象的網(wǎng)絡(luò)服務(wù)器名

稱(chēng)。

class參數(shù)使用appname.objecttype這種語(yǔ)法,包括以下部份:

部份描述

appnamo必需的;Variant(字符串)“提供該對(duì)象的應(yīng)用程序名”

objecttype必需的;Variant(字符串)。待創(chuàng)建對(duì)象的類(lèi)型或者類(lèi)。

說(shuō)明

每一個(gè)支持自動(dòng)化的應(yīng)用程序都至少提供一種對(duì)象類(lèi)型。例如,一個(gè)字處理

應(yīng)用程序可能會(huì)提供Application對(duì)象,Document對(duì)象,以及Toolbar對(duì)

象。

要?jiǎng)?chuàng)建ActiveX對(duì)象,只需將Ci'eateObject返回的對(duì)象賦給一個(gè)對(duì)象變量:

,聲明一個(gè)對(duì)象變量來(lái)存放該對(duì)象

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

DimExcclShcctAsObject

SetExcclShcet=CroatcObjcct(z,Excel.Sheet")

上述代碼將啟動(dòng)該應(yīng)用程序創(chuàng)建該對(duì)象,在本例中就是創(chuàng)建一個(gè)Microsoft

Excel電子數(shù)據(jù)表。對(duì)象創(chuàng)建后,就可以在代碼中使用自定義的對(duì)象變量來(lái)引用該對(duì)

象。在下面的示例中,可以使用對(duì)象變量ExcelSheet來(lái)訪問(wèn)新建對(duì)象的屬性和方法,

以及訪問(wèn)MicrosoftExcel的其它對(duì)象,包括應(yīng)用程序?qū)ο蠛蛦卧窦稀?/p>

'設(shè)置Application對(duì)象使Excel可見(jiàn)

ExcelSheet.Appli2ation.Visible=True'在表格的第一個(gè)單元中寫(xiě)些文本

ExcelSheet.Cellsd,1).Value="ThisiscolumnA,row1”'將該表格

保存到C:\test.doc目錄

ExcelSheet.SaveAs"C:\TEST.DOC”'使用應(yīng)用程序?qū)ο蟮腝uit方法關(guān)閉

Excelo

ExcelSheet.Application.Quit'釋放該對(duì)象變量

SetExcelSheet=Nothing

使用AsObject子句聲明對(duì)象變量,可以創(chuàng)建一個(gè)能包含任何類(lèi)型對(duì)象引用

的變量。無(wú)非,該變量訪問(wèn)對(duì)象是后期綁定的,也就是說(shuō),綁定在程序運(yùn)行時(shí)才進(jìn)廳。

要?jiǎng)?chuàng)建一個(gè)使用前期綁定方式的對(duì)象變量,也就是說(shuō),在程序編譯時(shí)就完成綁定,則

對(duì)象變量在聲明時(shí)應(yīng)指定類(lèi)ID。例如,可以聲明并創(chuàng)建下列MicrosoftExcel引用:

DimxlAppAsExcel.Application

DimxIBookAsExcel.Workbook

DimxlSheetAsExcel.Worksheet

SetxlApp=CreateObject("Excel.Application")

Set

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論