版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年浙江工商職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及完整答案詳解1套
- 2026年河北女子職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及參考答案詳解
- 2026年廣州衛(wèi)生職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案詳解
- 2026年安徽醫(yī)學(xué)高等專(zhuān)科學(xué)校單招職業(yè)傾向性測(cè)試題庫(kù)參考答案詳解
- 2026年呼和浩特職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)帶答案詳解
- 稅務(wù)科長(zhǎng)面試題目及答案
- 乙肝疫苗接種情況
- 2025年公開(kāi)招聘專(zhuān)業(yè)人才備考題庫(kù)及參考答案詳解1套
- 中國(guó)科協(xié)所屬單位2026年度面向社會(huì)公開(kāi)招聘工作人員備考題庫(kù)參考答案詳解
- 2025年南京大學(xué)招聘南京赫爾辛基大氣與地球系統(tǒng)科學(xué)學(xué)院助理備考題庫(kù)及1套參考答案詳解
- 項(xiàng)目4任務(wù)1-斷路器開(kāi)關(guān)特性試驗(yàn)
- 編輯打印新課標(biāo)高考英語(yǔ)詞匯表3500詞
- (高清版)DZT 0215-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 煤
- 高層建筑消防安全培訓(xùn)課件
- 無(wú)染覺(jué)性直觀自行解脫之道
- 國(guó)家開(kāi)放大學(xué)《土木工程力學(xué)(本)》形考作業(yè)1-5參考答案
- 實(shí)驗(yàn)診斷學(xué)病例分析【范本模板】
- 西安交大少年班真題
- JJF(石化)006-2018漆膜彈性測(cè)定器校準(zhǔn)規(guī)范
- GB/T 5563-2013橡膠和塑料軟管及軟管組合件靜液壓試驗(yàn)方法
- GB/T 24218.1-2009紡織品非織造布試驗(yàn)方法第1部分:?jiǎn)挝幻娣e質(zhì)量的測(cè)定
評(píng)論
0/150
提交評(píng)論