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

下載本文檔

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

文檔簡介

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

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

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

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

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)點對程序的回歸測試更方便可以執(zhí)行一些手工測試困難或不太可能進行的測試測試的復用性測試結果準確缺點不能完全取代手工測試手工測試比自動測試發(fā)現(xiàn)的缺陷更多自動化測試發(fā)現(xiàn)的缺陷大部分是已經(jīng)發(fā)現(xiàn)的缺陷自動化測試技術難度更大自動化測試-QTP模塊設計文檔

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

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

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

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

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

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

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

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

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

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

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

QTP工具介紹-增加內(nèi)置驗證點QTP工具介紹-增加內(nèi)置驗證點QTP工具介紹-增加內(nèi)置驗證點QTP工具介紹-增加內(nèi)置驗證點QTP工具介紹-數(shù)據(jù)庫驗證點QTP工具介紹-數(shù)據(jù)庫驗證點QTP工具介紹-數(shù)據(jù)庫驗證點QTP工具介紹-XML驗證點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é)點名

GetXml=True'xmlRecursion(xmlRoot)

EndFunction

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

QTP對象識別技術-對象差異

QTP對象識別技術-對象庫識別對象庫識別技術QTP對象識別技術-對象識別技術描述性識別示例: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窗口,查找按鈕,該按鈕上顯示的文字是“保存”,點擊該按鈕

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常用功能-結果分析

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

[statements]

[ElseIfcondition-nThen

[elseifstatements]]...

[Else

[elsestatements]]

EndIf

Function()

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

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

?

參數(shù)化步驟

?

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

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

$符號匹配字符串的結尾。例如:

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

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

^abc$只與“abc”匹配

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

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

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

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

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

GetToProperty:Returnsthevalueofthespecifiedpropertyfromthetestobjectdescription.

GetTOProperties:Returnsthecollectionofpropertiesandvaluesusedtoidentifytheobject.

GetROProperty:Returnsthecurrentvalueofthetestobjectpropertyfromtheobjectintheapplication.舉個例子:

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

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

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

在實際運行腳本時屬性“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])用途:從應用的對象中返回測試對象屬性的當前值。參數(shù):object,當前對象類型的一個測試對象。Property,必要參數(shù),一個字符串,需要從當前對象得到的屬性的名字。PropertyData,可選參數(shù),一個變量值,目前已經(jīng)不使用。返回值:一個變量值。用法:返回CheckBox“roundtrip”的當前狀態(tài)(on或者off)。SubGetROProperty_Example()Val=Browser("MercuryTours").Page("FindFlights").WebCheckBox("roundtrip").GetROProperty("Value")EndSub

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

溫馨提示

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

評論

0/150

提交評論