功能自動化與QTP培訓(xùn)_第1頁
功能自動化與QTP培訓(xùn)_第2頁
功能自動化與QTP培訓(xùn)_第3頁
功能自動化與QTP培訓(xùn)_第4頁
功能自動化與QTP培訓(xùn)_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

自動化測試與QTP培訓(xùn)舒文林QTP的運(yùn)用大黃蜂軟件測試目錄功能自動化測試介紹自動化概念功能自動化來源常用的功能自動化測試工具功能自動化和手工測試的優(yōu)缺點(diǎn)功能自動化流程自動化測試的實施(重點(diǎn))常用功能自動化框架介紹QTP常用功能QTP窗口介紹QTP錄制QTP參數(shù)化QTP驗證點(diǎn)QTP對象識別QTP參數(shù)映射、傳遞QTP與QC連接測試結(jié)果分析目錄QTP腳本開發(fā)與實例VBS語法介紹正則表達(dá)式QTP常用函數(shù)QTP函數(shù)庫使用QTP典型實例腳本分析QTP實踐例子(練習(xí))QTPB/S腳本開發(fā)例子(以QTP自帶的飛機(jī)票訂票系統(tǒng)為例)QTP常見問題(略,提供資料)總結(jié)自動化測試介紹-自動化測試概念概念

采用測試工具替代手工測試的過程,叫自動化測試!常見的自動化測試包括那些

單元測試自動化,性能自動化、功能自動化功能自動化測試介紹-起源功能自動化測試源于手工測試功能自動化測試介紹-常用工具IBM(Robot)HP-Mercury(QTP),常用版本8.2和9.0其它(SilkTest)功能自動化測試與手工測試的比較優(yōu)點(diǎn)對程序的回歸測試更方便可以執(zhí)行一些手工測試?yán)щy或不太可能進(jìn)行的測試測試的復(fù)用性缺點(diǎn)不能完全取代手工測試手工測試比自動測試發(fā)現(xiàn)的缺陷更多自動化測試發(fā)現(xiàn)的缺陷大部分是已經(jīng)發(fā)現(xiàn)的缺陷自動化測試技術(shù)難度更大功能自動化設(shè)施-功能自動化常規(guī)流程

需求分析測試設(shè)計腳本開發(fā)執(zhí)行測試分析結(jié)果功能自動化測試項目角色常規(guī)劃分角色劃分測試項目經(jīng)理測試分析架構(gòu)師測試設(shè)計測試開發(fā)測試執(zhí)行人員功能自動化測試實施策略項目條件選定項目周期長基礎(chǔ)功能穩(wěn)定項目規(guī)模比較大推廣方式先試點(diǎn)后逐步推廣以項目方式進(jìn)行管理自動化測試常用框架-思路思路自動化測試常用框架-某公司業(yè)務(wù)模塊業(yè)務(wù)模塊自動化測試常用框架-某公司QTP模塊'ModuleName=apirparameter("ReturnStr")="0"'初始化窗口IfInitScreen("菜單")Then'進(jìn)入apirPEInput"apir"+"[ctrl]"Else Reporter.ReportEventmicFail,"異常錯誤","系統(tǒng)初始化錯誤。" exittestendif'輸入查詢條件:機(jī)構(gòu)號,卡類,申請編號'輸入機(jī)構(gòu)號

PEFieldInputparameter("organID"),5,15' 輸入卡類

PEFieldInputparameter("type"),5,30' 輸入申請編號

PEFieldInputparameter("applicationID"),5,50 PEInput"[Ctrl]"'反向案例

IfPECheckpage(parameter("CZNR"))Then parameter("ReturnStr")="1"Reporter.ReportEventmicPass,"查找成功","需要查找的內(nèi)容【"¶meter("CZNR")&"】已經(jīng)找到" exittes EndIf自動化測試-QTP常用功能-窗口優(yōu)點(diǎn)對程序的回歸測試更方便可以執(zhí)行一些手工測試?yán)щy或不太可能進(jìn)行的測試測試的復(fù)用性測試結(jié)果準(zhǔn)確缺點(diǎn)不能完全取代手工測試手工測試比自動測試發(fā)現(xiàn)的缺陷更多自動化測試發(fā)現(xiàn)的缺陷大部分是已經(jīng)發(fā)現(xiàn)的缺陷自動化測試技術(shù)難度更大自動化測試-QTP模塊設(shè)計文檔

進(jìn)入第二部分總結(jié)前面QTP常用功能-QTP窗口QTP常用功能-QTP窗口QTP常用功能-QTP窗口QTP常用功能-QTP窗口QTP工具介紹-KeyviewQTP工具介紹-Expertview常用功能操作--腳本錄制

常用功能操作--腳本錄制

常用功能操作--腳本錄制

常用功能操作--腳本錄制

QTP常用功能-QTP參數(shù)化QTP常用功能-QTP參數(shù)化QTP常用功能-驗證點(diǎn)什么是驗證點(diǎn)

將特定屬性的當(dāng)前數(shù)據(jù)與期望數(shù)據(jù)進(jìn)行比較的檢查點(diǎn),用于判定被測試程序功能是否正確驗證點(diǎn)分類

QTP內(nèi)置驗證點(diǎn)和自定義驗證點(diǎn)

內(nèi)置驗證點(diǎn)原理

A.錄制時,根據(jù)用戶設(shè)置的驗證內(nèi)容,記錄數(shù)據(jù)作為基線數(shù)B.回放時,QTP捕獲對象運(yùn)行時的數(shù)據(jù),與腳本中的基線數(shù)據(jù)進(jìn)行比C.如果基線數(shù)據(jù)和運(yùn)行數(shù)據(jù)相同,結(jié)果為PASS,反之為Failed

QTP常用功能-內(nèi)置驗證點(diǎn)類型檢查點(diǎn)類型描述用法示例標(biāo)準(zhǔn)檢查點(diǎn)檢查對象的屬性值。檢查是否選中某單選按鈕。圖像檢查點(diǎn)檢查圖像的屬性值。檢查圖像源文件是否正確。表檢查點(diǎn)檢查表中的信息。檢查表單元格中的值是否正確。頁面檢查點(diǎn)檢查網(wǎng)頁的特性。檢查加載網(wǎng)頁所需的時間,或者檢查網(wǎng)頁是否包含中斷鏈接。文本/文本區(qū)域檢查點(diǎn)檢查文本字符串是否顯示在網(wǎng)頁或應(yīng)用程序窗口中的適當(dāng)位置。檢查預(yù)期的文本字符串是否顯示在網(wǎng)頁或?qū)υ捒蛏系念A(yù)期位置。位圖檢查點(diǎn)將網(wǎng)頁或應(yīng)用程序的某個區(qū)域捕獲為位圖后對其進(jìn)行檢查。檢查網(wǎng)頁或網(wǎng)頁的任何部分是否能按預(yù)期顯示。數(shù)據(jù)庫檢查點(diǎn)檢查應(yīng)用程序或網(wǎng)站所訪問的數(shù)據(jù)庫內(nèi)容檢查數(shù)據(jù)庫查詢中的值是否正確??稍L問性檢查點(diǎn)對網(wǎng)站區(qū)域進(jìn)行識別,以檢查是否符合508部分。檢查網(wǎng)頁上的圖像是否包含ALT屬性(該屬性是W3CWeb內(nèi)容可訪問性規(guī)則所要求的)。XML檢查點(diǎn)檢查XML文檔的數(shù)據(jù)內(nèi)容。注意:XML文件檢查點(diǎn)用于檢查特定的XML文件;XML應(yīng)用程序檢查點(diǎn)用于檢查網(wǎng)頁中的XML文檔。

QTP工具介紹-增加內(nèi)置驗證點(diǎn)

QTP工具介紹-增加內(nèi)置驗證點(diǎn)QTP工具介紹-增加內(nèi)置驗證點(diǎn)QTP工具介紹-增加內(nèi)置驗證點(diǎn)QTP工具介紹-增加內(nèi)置驗證點(diǎn)QTP工具介紹-數(shù)據(jù)庫驗證點(diǎn)QTP工具介紹-數(shù)據(jù)庫驗證點(diǎn)QTP工具介紹-數(shù)據(jù)庫驗證點(diǎn)QTP工具介紹-XML驗證點(diǎn)FunctionGetXml(ByValstrXmlFilePath,ByValxmlNodeName)

DimxmlDoc,xmlRoot

SetxmlDoc=CreateObject(“Microsoft.XMLDOM”)‘創(chuàng)建‘XMLDOM對象

xmlDoc.async=False'控制加載模式為同步模式(xml樹加載完畢后再執(zhí)行后續(xù)代碼)

xmlDoc.loadstrXmlFilePath'載入xml文件

IfxmlDoc.parseError.errorCode<>0Then

MsgBox"XML文件格式不對,原因是:"&Chr(13)&xmlDoc.parseError.reason

ExitFunction

EndIf

SetxmlRoot=xmlDoc.documentElement

xmlRecursionxmlRoot,xmlNodeName'調(diào)用xml遞歸函數(shù)傳入指定的根和節(jié)點(diǎn)名

GetXml=True'xmlRecursion(xmlRoot)

EndFunction

QTP工具介紹-自定義驗證點(diǎn)IfCheckpage(parameter("CZNR"))Thenparameter("ReturnStr")="1"Reporter.ReportEventmicPass,"申請成功","進(jìn)件號為"¶meter("applicationID")&"的申請?zhí)峤怀晒?elseReporter.ReportEventmicFail,"異常錯誤","輸入申請類型錯誤“exittestEndIfElseReporter.ReportEventmicFail,"異常錯誤","輸入申請類型錯誤"exittestEndIfQTP工具介紹-對象庫QTP工具介紹-Objectspy對象探測器,撲獲對象的好助手通過ObjectSpy可以查看到所需要識別的Web對象的所有屬性值,挑選其中可以唯一識別該對象的一個屬性或多個屬性,對該Web對象進(jìn)行描述QTP對象識別技術(shù)-對象的識別原理TestObject(TO)RunObject(RO)兩種識別方式操作原理介紹

QTP對象識別技術(shù)-對象差異

QTP對象識別技術(shù)-對象庫識別對象庫識別技術(shù)QTP對象識別技術(shù)-對象識別技術(shù)描述性識別示例:Browser(“creationTime:=0”).Page(“index:=0”).WebEdit(“name:=amount”).Set“1000”

在第一個被創(chuàng)建的IE窗口,查找name屬性為amount的輸入框,輸入數(shù)據(jù)1000Browser(“creationTime:=1”).Page(“index:=0”).WebButton(“text:=保存”).Click

在第二個被創(chuàng)建的IE窗口,查找按鈕,該按鈕上顯示的文字是“保存”,點(diǎn)擊該按鈕

QTP常用功能-Action的參數(shù)傳遞

QTP常用功能-Action的參數(shù)傳遞

QTP常用功能-Action的參數(shù)傳遞

QTP常用功能-Action的參數(shù)傳遞

QTP常用功能-Action的參數(shù)傳遞

QTP常用功能-Action的參數(shù)映射

QTP常用功能-QC連接

QTP常用功能-QC連接

QTP常用功能-QC連接

QTP常用功能-Action的參數(shù)映射

QTP常用功能-結(jié)果分析

QTP培訓(xùn)-第三部分總結(jié)VBS語法介紹-控制語句For...Next:While...WendIf...Then...Else…EndIfIfconditionThen

[statements]

[ElseIfcondition-nThen

[elseifstatements]]...

[Else

[elsestatements]]

EndIf

Function()

EndFunctionVBS語法介紹-正則表達(dá)式什么是正則表達(dá)式?一個正則表達(dá)式就是由普通字符(例如字符a到z)以及特殊字符(稱為元字符)組成的文字模式正則表達(dá)式的用途??

在對話框或編程描述中定義對象的屬性值

?

參數(shù)化步驟

?

使用不同的值來創(chuàng)建檢查點(diǎn)VBS語法介紹-常用正則表達(dá)式舉例^符號匹配字符串的開頭。例如:

^abc與“abcxyz”匹配,而不與“xyzabc”匹配

$符號匹配字符串的結(jié)尾。例如:

abc$與“xyzabc”匹配,而不與“abcxyz”匹配。

注意:如果同時使用^符號和$符號,將進(jìn)行精確匹配。例如:

^abc$只與“abc”匹配

*符號匹配0個或多個前面的字符。例如:

ab*可以匹配“ab”、“abb”、“abbb”等

+符號匹配至少一個前面的字符。例如:

ab+可以匹配“abb”、“abbb”等,但不匹配“ab”。VBS語法介紹-正則表達(dá)式測試函數(shù)FunctionRegExpTest(patm,strng)DimregEx,retValSetregEX=NewRegExpregEx.Pattern=patmregEx.IgnoreCase=FalseretVal=regEx.Test(strng)IfretValThen RegExpTest="匹配成功." Else RegExpTest="匹配失敗."EndIfEndFunctionMsgBox(RegExpTest("正則表達(dá)式","原字符串"))

QTP常用函數(shù)-常用函數(shù)GetToProperty()、GetToProperties()、GetRoproperty()、SetToProperty()

GetToProperty:Returnsthevalueofthespecifiedpropertyfromthetestobjectdescription.

GetTOProperties:Returnsthecollectionofpropertiesandvaluesusedtoidentifytheobject.

GetROProperty:Returnsthecurrentvalueofthetestobjectpropertyfromtheobjectintheapplication.舉個例子:

假設(shè)在庫中有一個對象“窗口A”,用于識別該對象的屬性有2個,

一個屬性是“text”,在庫中記錄的值是“QQQQ”.

另一個屬性是“name”,記錄的值是“MM”

在實際運(yùn)行腳本時屬性“text”的值是“PPPP”而不是“QQQQ”

那么:

Window(“窗口A”).GetToProperty(“text”)返回的是:“QQQQ”

Window(“窗口A”).GetRoProperty(“text”)返回的是:“PPPP”

Window(“窗口A”).GetToProperties(“text”)返回的是用于識別“窗口A”的兩個屬性和值的集合SetToProperty()通過SetTOProperty方法,可以修改測試對象(指對象倉庫中的對象)的屬性值

QTP常用函數(shù)-常用函數(shù)GetTOPropertygetcurrentrow()datatable.value("column_name",dtlocalsheet)="nanjing“exist()MsgBox()StrComp()CInt()CStr()Type()Reporter.ReportEventmicFail,””,””

QTP常用函數(shù)-常用函數(shù)GetTOProperty()GetROProperty()getcurrentrow()datatable.value("column_name",dtlocalsheet)="nanjing“exist()MsgBox()StrComp()CInt()CStr()Type()QTP常用函數(shù)-常用函數(shù)舉例GetROProperty語法:object.GetROProperty(Property,[PropertyData])用途:從應(yīng)用的對象中返回測試對象屬性的當(dāng)前值。參數(shù):object,當(dāng)前對象類型的一個測試對象。Property,必要參數(shù),一個字符串,需要從當(dāng)前對象得到的屬性的名字。PropertyData,可選參數(shù),一個變量值,目前已經(jīng)不使用。返回值:一個變量值。用法:返回CheckBox“roundtrip”的當(dāng)前狀態(tài)(on或者off)。SubGetROProperty_Example()Val=Browser("MercuryTours").Page("FindFlights").WebCheckBox("roundtrip").GetROProperty("Value")EndSub

QTP常用函數(shù)-常用函數(shù)舉例Exist語法:object.Exsit([TimeOut])用途:用于檢查某個特定對象在目前的應(yīng)用中是否存在。參數(shù):object,表示某特定的對象,比如瀏覽器對象Browser,對話框?qū)ο骴ialog等。TimeOut,為可選參數(shù),單位為毫秒。如果設(shè)定為大于0的值,那么QTP判斷一個對象是否存在的過程就以這

溫馨提示

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

評論

0/150

提交評論