自動(dòng)化測(cè)試工具QTP的參數(shù)化_第1頁
自動(dòng)化測(cè)試工具QTP的參數(shù)化_第2頁
自動(dòng)化測(cè)試工具QTP的參數(shù)化_第3頁
自動(dòng)化測(cè)試工具QTP的參數(shù)化_第4頁
自動(dòng)化測(cè)試工具QTP的參數(shù)化_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

自動(dòng)化測(cè)試工具QTP的參數(shù)化在測(cè)試應(yīng)用程序時(shí),因?yàn)樵O(shè)計(jì)測(cè)試用例的需要,我們可能要對(duì)一系列操作過程進(jìn)行重復(fù)測(cè)試,當(dāng)然在測(cè)試的過程中可能采用一組從不同角度設(shè)計(jì)的數(shù)據(jù),那么QTP為了解決這類問題,不需要測(cè)試者將這一系列相同的操作過程重復(fù)多次,而只需將需要變化的數(shù)據(jù)進(jìn)行參數(shù)化,通過腳本設(shè)置使得腳本在運(yùn)行時(shí)循環(huán)一次取參數(shù)化中的不同數(shù)據(jù),讓程序在不同數(shù)據(jù)驅(qū)動(dòng)下自動(dòng)執(zhí)行多次,所以參數(shù)化是自動(dòng)化測(cè)試工具的一個(gè)技巧,也是測(cè)試者必須掌握的知識(shí)。QTP的參數(shù)化測(cè)試流程下面我們通過舉例來看一下QTP如何實(shí)現(xiàn)參數(shù)化測(cè)試,這里就以一個(gè)登錄窗口功能測(cè)試參數(shù)話的過程:設(shè)計(jì)測(cè)試用例我們?cè)O(shè)計(jì)以下四個(gè)測(cè)試用例用來檢驗(yàn)登陸功能的實(shí)現(xiàn):用例1:用戶名正確,密碼不正確,輸出為“對(duì)不起,您的密碼不正確”用例2:用戶名為空,密碼不正確,輸出為“請(qǐng)您輸入正確的用戶名”用例3:用戶名正確,密碼為空,輸出為“請(qǐng)您輸入正確的密碼”用例4:用戶名正確,密碼正確,正常登陸錄制腳本,通過運(yùn)行QTP登陸,錄制正常的業(yè)務(wù)流程,以用戶名為hhh,密碼為111登陸。(WEB協(xié)議),保存腳本。參數(shù)化腳本變量,在樹圖窗口中找到用戶名變量,點(diǎn)右鍵,通過設(shè)置將登陸用戶名參數(shù)化為mail_name,將登陸用戶的密碼變量參數(shù)化為mail_password,datatable選本地表。為了比較預(yù)期輸出值與實(shí)際輸出值是否一樣,我們需要將預(yù)期輸出值用一個(gè)變量通過循環(huán)依次取出來進(jìn)行比較,因此可以在datatable中創(chuàng)建一個(gè)存儲(chǔ)預(yù)期輸出值的列out_st.按照功能測(cè)試的測(cè)試策略進(jìn)行測(cè)試用例的設(shè)計(jì),并在datatable中輸入mail_name,mail_password,out_st的值.下面我們就可以通過VBScript的腳本來對(duì)腳本進(jìn)行修改,使流程按照我們的要求進(jìn)行運(yùn)行,切換到專家視圖,在腳本最前面創(chuàng)建相應(yīng)的量為了依次能夠訪問到表格中的每一個(gè)測(cè)試用例的具體值,必須創(chuàng)建一個(gè)表示datatable表中行號(hào)的變量i。用for或if語句實(shí)現(xiàn)循環(huán),使得QTP在運(yùn)行腳本時(shí)能夠通過循環(huán)依次讀取表中每一個(gè)用戶名。為了得到實(shí)際輸出結(jié)果,必須在腳本中插入文本輸出點(diǎn),用來輸出系統(tǒng)運(yùn)行時(shí)輸出的實(shí)際信息,并將結(jié)果保存到本地表DATATABLE中的out_msg列。(新生成一列)。定義一個(gè)能夠讀取datatable表中out_msg列數(shù)據(jù)的變量out_value,提取out_ms列數(shù)據(jù)放入變量out_value變量中。再定義一個(gè)讀datatable表中out_st列數(shù)據(jù)的變量out_is,提取out_st列數(shù)據(jù)放入變量out_is變量中。(提示:實(shí)際上這是程序?qū)嶋H運(yùn)行結(jié)果和程序預(yù)期輸出結(jié)果)。為了便于測(cè)試結(jié)果的分析,在腳本代碼中增加語句用來輸出如果系統(tǒng)實(shí)際運(yùn)行結(jié)果與測(cè)試用例預(yù)期運(yùn)行結(jié)果不相同時(shí)的提示信息。為了取下一個(gè)測(cè)試用例的數(shù)據(jù),在FOR循環(huán)中加入一條netx語句,以便讀取datatable表中下一行數(shù)據(jù)。執(zhí)行腳本,修改語法錯(cuò)誤,至通過,根據(jù)測(cè)試結(jié)果進(jìn)行功能分析。最后,我們?yōu)榱藴y(cè)試的目的性更強(qiáng)一點(diǎn),可以通過插入檢查點(diǎn)的方式來強(qiáng)化腳本,在本例中可以通過插入文本檢查點(diǎn)和網(wǎng)頁檢查點(diǎn)的方式來檢驗(yàn)當(dāng)不能正常登陸時(shí)出現(xiàn)的文字與正常登陸時(shí)出現(xiàn)的文字與網(wǎng)頁的不同來進(jìn)行比較。當(dāng)然我們還可以通過測(cè)試結(jié)果窗口顯示的信息和界面來對(duì)該功能的實(shí)現(xiàn)進(jìn)行對(duì)應(yīng)的分析并寫出測(cè)試報(bào)告。下面通過實(shí)例來介紹一下QTP實(shí)例化常用的兩種方法(在這個(gè)過程中功能我會(huì)用實(shí)例來講解一下)①第一種針對(duì)輸入的參數(shù)話目標(biāo)如下:1.腳本需要處理成功和失敗的用戶的登陸2.數(shù)據(jù)驅(qū)動(dòng)設(shè)計(jì)開發(fā)腳本如下:第一步錄制腳本如下Browser^監(jiān)獄管理系統(tǒng)”).Page("監(jiān)獄管理系統(tǒng)").WebEdit("txtLoginName").Set"張三"Browser("監(jiān)獄管理系統(tǒng)”).Page("監(jiān)獄管理系統(tǒng)”).WebButton("登錄").set""Browser("監(jiān)獄管理系統(tǒng)”).Page(”Page”).SynBrowser("監(jiān)獄管理系統(tǒng)”).Close以上為錄制的正確的用戶名,下邊錄制錯(cuò)誤的用戶名Browser("監(jiān)獄管理系統(tǒng)”).Page("監(jiān)獄管理系統(tǒng)").WebEdit("txtLoginName").Set"xx"Browser("監(jiān)獄管理系統(tǒng)”).Page("監(jiān)獄管理系統(tǒng)”).WebButton("登錄").set""出現(xiàn)錯(cuò)誤提示“該用戶不存在”第二步增強(qiáng)腳本現(xiàn)在需要設(shè)計(jì)的是一套腳本驅(qū)動(dòng)所有的測(cè)試數(shù)據(jù),這樣可以驅(qū)動(dòng)所有的用例數(shù)據(jù),qtp中提供了datatable。但是有數(shù)據(jù)驅(qū)動(dòng)也要做一個(gè)事情就是如何處理錯(cuò)誤的用戶名和正確的用戶名,如何結(jié)合起來呢?這里我把datatable看作存放測(cè)試用例的地方,里面放入測(cè)試數(shù)據(jù),還放入測(cè)試的預(yù)期結(jié)果。這樣我的設(shè)計(jì)已經(jīng)出現(xiàn)雛形了。我把datatable設(shè)計(jì)為三列usernamepasswordstatus張三 123 該用戶不能為空第三列放入最后執(zhí)行的結(jié)果,我設(shè)計(jì)的是空為成功登陸,如果有信息就用實(shí)際運(yùn)行的結(jié)果和這一列對(duì)比。修改腳本如下:DimiStatusBrowser^監(jiān)獄管理系統(tǒng)”).Page("監(jiān)獄管理系統(tǒng)").WebEdit("txtLoginName").SetDataTable("username",dtLocalSheet)Browser("監(jiān)獄管理系統(tǒng)”).Page("監(jiān)獄管理系統(tǒng)”).WebButton("登錄").setDataTable("password",dtLocalSheet)iStatus=DataTable("status",dtLocalSheet)IfiStatus=""ThenBrowser("監(jiān)獄管理系統(tǒng)”).CloseEndIfIf iStatus="該用戶不存在" ThenReporter.ReportEventmicFail,"登陸","登陸失敗."EndIfBrowser("監(jiān)獄管理系統(tǒng)”).Close第三步,設(shè)置腳本運(yùn)行過程打開tests-〉settings設(shè)置RUNTAB頁面下Datatableiterations中RunOnallrows這樣就完成了整個(gè)腳本的設(shè)計(jì)工作,以上通過一個(gè)簡(jiǎn)單例子吧腳本的設(shè)計(jì)和軟件的功能結(jié)合起來,達(dá)成腳本的設(shè)計(jì)效果。下面是我用都聯(lián)網(wǎng)系統(tǒng)作為例子進(jìn)行的腳本加強(qiáng)的例子Mndow("WinInlArnAlExplorer").RestoreZr□wse吧都聯(lián)網(wǎng)').Pq涸嘟聯(lián)網(wǎng).WebEditfusend"i.Sel1^字越長趣好"SravvseT啣聯(lián)網(wǎng)'JPageC^^^"J.WebEditfuserp^'J.SBtSecurB'帕EBe95閔忙:13c22?5731cEl7d^lEftlGda?'3rcwssrQ都瞧網(wǎng),;.Pagsi"觀雅網(wǎng)";.WsbEdifcheckCode'J.Sat"IpkB'_llgKf"胡社網(wǎng)"=C」Hl"部網(wǎng)'「IlC.Hl"d卜II"~llk昭恠。吧都聯(lián)FP).Pa?測(cè)嘟聯(lián)町喑晞里面的物聯(lián)網(wǎng)「._i代[退出一")Ci±zrc^ccr「都聯(lián)網(wǎng)?).F已擁嘟聯(lián)網(wǎng)_2')iyrc=ni-ii"3rK=^'■■_IfioAIITahc:上圖這個(gè)是都聯(lián)網(wǎng)正常登錄之后錄制的腳本。in"-M'哉聯(lián)洌'1:"gn"^網(wǎng)'i^nh-nf'jse^'lHnt'a234'Eru.■/=eri'i^'j='=qe:■'爲(wèi)怎網(wǎng)TJebEjiCjserpv.'^.S.SeL'.ire'4値沁1fD3a30D5acfE6583b9D1s315dd19afin"-nrf'n^?!'):'一^門:.申舉網(wǎng)'i^nh-iir1TheckCodn')^nt'7tBh'Eru.'/:曰C'都聯(lián)邇'jPagef'^PIs網(wǎng)')Irragefdlari'J.CIckt F]聯(lián)網(wǎng)—TiiuiciwsIirtern^tExplorer13問岡Q■.-? 1iLj^10.161.2.79:0■1*1弐*tx]I汕:…八 p|-姑邊)確②査石迫收船夾閔工且H芭敦①xcw “41腎■?蓉血登錄選盒*?收脳先|%: 占▼宦|免費(fèi)凰f5恂”風(fēng)口耶*頁面迥”妥全工耳辺”電” ”國那莊口總旳汝迎匸臨賊丙, 用r.皆園潤喀匚 氏碼碼iv.i'W UJR1曹013?北京陡腳市]死的那聯(lián)陰應(yīng)用解下按中右*活荷見關(guān)上圖是都聯(lián)網(wǎng)錯(cuò)誤登錄的錄制腳本(彈出用戶名或者密碼錯(cuò)誤)下圖是經(jīng)過加強(qiáng)之后的錄制腳本:曰必丁曲?超Ac"泌確氐匕禎 二]1UnmiSicdusZmmwsmn:嘟底網(wǎng)?).陽咱?都聯(lián)網(wǎng)'|'iiVetEdrtt^DqinNaHie'ISeiDBlBTablet^LKeinafne'.dlLocnlSh&Ffl40iu*ser(^SSRl'J.PagECitf?.丹etoflutaif嵯^'>setDobiToble(,pD5swani,.diLacnlShEEf)5Gt-'irln--;■-「IbIuf.vrF?■■■■■IfiSiattJS-"ThenBE-..<_-i邯|無網(wǎng)'j.Uluuu3EndIf10.11.12.II 戶名或柚碼航wlhe「13:pEporierFlepaiEvEntmicFni.唾附唾陸央敗」1斗EndIf15:16-■li都聯(lián)莎i〔:lnhr②select選擇值的參數(shù)化在不更改對(duì)象庫的基礎(chǔ)上上,運(yùn)用SetTOProperty函數(shù)方法來達(dá)到同樣的效果例:錄制打開百度搜索主頁,輸入11,點(diǎn)擊搜索按紐,進(jìn)入搜索后的頁面,隨便打開其中一個(gè)連接,然后關(guān)閉網(wǎng)頁.錄制腳本如下:*UX::"秋卜30011需.AciiarilT—13;5:6:9-910.NndowCWindciwsInierneiExplorer')Maximize日raw沖[■百廢一下■你就道?:iPQgEC百展—下.你就知i這丁今皿Window^WindcwsInterne^.Explorer*).ArtvaieBridger(B百度一下:■你就道?).口科目("百度—下:■你就知道").□nk("haol23").CIickBra^iee百.度—下卜你就^道'J.PeqEC'heol23_±網(wǎng)從i藝?yán)飵允?i 砸_li--日row*尸中國網(wǎng)第電覘臺(tái)?).電卯『申曰網(wǎng)第電找護(hù))J-n:BnowEQd石度一卞,你就卻道J.Pagaf'haol23__E網(wǎng)從猿里幵繪]&yncWindowCWindcwsInternetExplorei_2BlRestore日喚對(duì)中國網(wǎng)第電覘臺(tái)')Ftage忡國網(wǎng)絡(luò)電視臺(tái)?)SyncB」\\一「.'中國網(wǎng)皓屯視臺(tái)UCIoseAIIInbs^■iSasggQQ]現(xiàn)在我想做的是,能測(cè)試搜索頁面上的其他link打開是否正確.那么勢(shì)必要把上面選中部分給參數(shù)化.首先我們要在選中部分這句代碼上面增加一句話,如下:夕g飢■百度一下,臓口道:耳爲(wèi)■h血遼上阿從迖?yán)镩_始l_nl<CmV:也tTOPio卩曬囑性:囑性價(jià)三g肌夕g飢■百度一下,臓口道:耳爲(wèi)■h血遼上阿從迖?yán)镩_始l_nl<CmV:也tTOPio卩曬囑性:囑性價(jià)三g肌,百盧一下,觸和道:詢曲的遼上阿從通軒馴」kfCmV:E-v.cm神酈電訓(xùn)自心心?申國阿路電觀卻1卻〔z-:7'S站'百度1=,僦曲謁':二口e:rM23_上服£野1始;?.-:捕ndtmfWindowsIrrtemelExporer_2)ReslareSetTOProperty方法能夠在腳本運(yùn)行中,設(shè)置對(duì)象的屬性值.而QTP識(shí)別應(yīng)用程序上的對(duì)象,完全是依靠對(duì)象庫中的對(duì)象來識(shí)別的.所以只要對(duì)象庫中的對(duì)象屬性值變掉了,QTP操作的對(duì)象也不同了.通過對(duì)該Link對(duì)象,在對(duì)象庫中屬性及屬性值的研究發(fā)現(xiàn),啟決定性作用的是該對(duì)象text屬性?所以只要更改這個(gè)text屬性,就能讓QTP點(diǎn)擊其他Link了在這里我們做兩個(gè)link的修改,如下:AjctiaalWindow('W^ndchreInternalExplains門日Dimib-■■ie:,'rfS—T.你就^道'「i”:百度一下,你就^道"-r?WigIdcw("WinddwsInternalE■:plare^.i^riivB.tearawserCWS—T.臨底譴?[.1=即哎百度_下,禰勒IT道J.LinkfhaolET).C1ickFori=l恤cSellecilCa^ei器11.1Z:13:何15:1&器11.1Z:13:何15:1&18:19:Cubb2b-'CtTTVEnd呂eloctaruwEerC百厘1下,你酣血?].刊抑怙01巧一t網(wǎng)從這里開^'g.UnkC'CNTVI.SefTOPropEny'tsrA'.'tj'-■ 「.就知道,〕m-.■:丨.丙從這里開當(dāng))II--:NP.-■.-Browaerf中國阿搭電視臺(tái)?).問叫申國網(wǎng)搭電視臺(tái)'J-Sync3-tow5=-:'百度i下,你就如潼]■■:gefiao1網(wǎng)從過里開姐'2-r:^ndciH'rWindowIntemei丘和1口電『_嚴(yán))Resiorei日s泊f中國網(wǎng)絡(luò)電視臺(tái)b).F=Hge(坤國網(wǎng)絡(luò)電視臺(tái)bJ.2yncBroxise^中國網(wǎng)絡(luò)電視臺(tái)[mmeAlfT日出在我的腳本的對(duì)象庫中是沒有"58同城",這個(gè)link對(duì)象的.讓我們看看這樣修改后,能不能通過兩次循環(huán),依次點(diǎn)擊打開名為"58同城"的連接,然后關(guān)閉.接著繼續(xù)點(diǎn)擊打開名為"CNTV"的連接,然后關(guān)閉.結(jié)果自然是通過的,我們通過對(duì)SetTOProperty方法的運(yùn)用,同樣達(dá)到了參數(shù)化的要求。以上的兩種方法就是我今天為大家介紹的QTP的參數(shù)化的方法,下面為大家展示一下用QTP增強(qiáng)的都聯(lián)網(wǎng)的登錄腳本(帶驗(yàn)證碼)日痺7?t為AjcGotiL嶋sktlmLZ1I"Dim蕊ME.inpWF細(xì)聽為找惑鎖藝郵由捋揆岐至話紐人的強(qiáng)邁埠SVindawfV/iridcuVfiIntemelEiplorerl,).Maxinii?eErQi^erfi^F^"]Paqe('Ul^P?l■)WebEditfuserid*)SetD8laTabli=i(Bufiernami=',adlGlabalSheeti日i■口ixse”熬癡網(wǎng)片Pagef嘟聯(lián)陰勺學(xué)怡墮由血宜日iizwJ.S戲駅匸ureDntaTHbleCpa^s'Ard11.dtGlobfllSheet)wttit(3)躍托灣驅(qū)胚邈律input-inpn日i■口wse店Browser(Ri'請(qǐng)軌扎吸證':!門Fagm(啣聯(lián)網(wǎng)■).WBbEdiHi|n<ahdalDrCade11].Setinput門.Fajg列邨聯(lián)f^l'yWebAreai^http^l0.1G1.2.79/daijlianmagp).Qick10121314151G161920212223曲2526272629■31?亞E.iahJs=D5iaTflblg.Valii0(p5l5iu5,,.cllGlobaJ3hi=:et)聯(lián)越伽伺幣皿爭(zhēng)的對(duì)3伽件熬僉期轄無tfB『o>戀:曰「祁底阿烏口即口?/間cqe口”InlemetE沖I□世門丘辰1⑴Then出境穿三方弄聞傭氏.郎登錄先艘H血IW用戶占或音電碼錯(cuò)謠*bThanBfDwsei-f'MvJSPadminIcigirijsp"1].Dialagf'MiQa-2otlIrilernelEjcplorer11)Wn日⑷口葉確定jackErnzen:嘟麻陰?).F也賓嘟底網(wǎng)7SyncBrowser(■都聯(lián)陰'J.ClDEeReporlBr.RBpDrlEvBni:micPw『登議stilusEodItIIP&iolu5=,bifi?]入監(jiān)證碼!"Then日rox>wRif和聯(lián)網(wǎng)70mlog('Micro5otilEmEmtExplorw^VVmButtan「確定「.ClickEi『g?Qn[哪莊網(wǎng)丁.訊膽[■都聯(lián)網(wǎng):|SyncBrthvser^flJB^網(wǎng)*J.Cl0£啟ReporlerReporlEvenlmicPsee."登錄失U''.■slalusEndIfMElHtus?膠臉碼惜餞3 Theo日rcw汕W廊聯(lián)網(wǎng)I?.匸iial(]gf'kiictcisottInlEmetExplorer11)Wn日uttonC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論