轉(zhuǎn)載QTP相關(guān)的25個(gè)小技巧_第1頁
轉(zhuǎn)載QTP相關(guān)的25個(gè)小技巧_第2頁
轉(zhuǎn)載QTP相關(guān)的25個(gè)小技巧_第3頁
轉(zhuǎn)載QTP相關(guān)的25個(gè)小技巧_第4頁
轉(zhuǎn)載QTP相關(guān)的25個(gè)小技巧_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.轉(zhuǎn)載 QTP相關(guān)的25個(gè)小技巧轉(zhuǎn)載QTP相關(guān)的25個(gè)小技巧2020-06-25 10:501.Q:runaction后面能不能接變量動(dòng)態(tài)調(diào)用action,所以從數(shù)據(jù)庫取數(shù)據(jù)做action名字了,但是調(diào)用總是找不到?2.Q:QTP8.2中調(diào)用VB函數(shù)的問題用VBscrpt寫了一些測試腳本需要的幾個(gè)通用函數(shù),有沒有方法可以用類似include的方式進(jìn)展調(diào)用,而不需要每次都把這些函數(shù)Copy到新的腳本中?3.Q:QTP如何做回歸測試300多個(gè)TestCase,TD是否可以管理4.Q:qtp自動(dòng)截圖功能5.Q:在QTP中如何設(shè)置使用別的閱讀器XP系統(tǒng),用IE訪問程序時(shí),每次總提示屏蔽安裝Active

2、X插件,需要手動(dòng)安裝.但把這個(gè)過程錄制到QTP后,回放一次是成功的。當(dāng)我給某個(gè)輸入框參數(shù)化了好多數(shù)據(jù)后,回放過程中,某些就會(huì)失敗.6.Q:checkpoint檢查網(wǎng)頁,是否能實(shí)現(xiàn)只要網(wǎng)頁出現(xiàn)亂碼就返回錯(cuò)誤報(bào)告?7.Q:WSH的應(yīng)用方法8.Q;從EXCEL中導(dǎo)出數(shù)據(jù)進(jìn)展測試9.Q:關(guān)于dtGlobalsheet與dtGlobalsheet 10.Q:挪動(dòng)當(dāng)前位置的行11.Q:如何能記錄到頁面的校驗(yàn)碼?Output value能不能得到web頁面的校驗(yàn)碼,一般的校驗(yàn)碼是由圖片隨即生成的,用QTP怎么錄腳本在登陸前得到校驗(yàn)碼并輸入到校驗(yàn)碼一欄12.Q:QTP正那么表達(dá)式的幫助13.自動(dòng)測試施行方案1

3、4.Q:一個(gè)Action里如何調(diào)用在另一個(gè)Action中定義的函數(shù)、過程或變量、常量15.Q:如何管理QTP的源代碼?QTP生成的源代碼比較多,而且和環(huán)境控件都有關(guān),假設(shè)需要多人同時(shí)開發(fā),請(qǐng)問如何管理源代碼?16:Q:腳本不能回放,IE中的AtiveX設(shè)置有問題?17.Q:如何參數(shù)化link 18.Q:QTP在Debug狀態(tài),在Export View區(qū)域不能寫入任何東西19.Q:動(dòng)態(tài)變化值如何獲取20.Q:如何一一獲得Table中某欄link的text?21.Q:網(wǎng)頁下拉框的選擇22.Q:將測試數(shù)據(jù)單獨(dú)拿出來23.Q:和TD連接24:Q:處理Windows彈出窗口25.Q:查詢結(jié)果的比較1.Q

4、:runaction后面能不能接變量動(dòng)態(tài)調(diào)用action,所以從數(shù)據(jù)庫取數(shù)據(jù)做action名字了,但是調(diào)用總是找不到?A:腳本中原有RunAction"testbasecase1",oneIteration把引號(hào)中的內(nèi)容放到Global表中的第22行,然后將代碼修改為:datatable.getsheet"Global"datatable.setcurrentrow22strLogin=DataTable"ActionName","Global"RunAction strLogin,oneIteration hel

5、p中也有相關(guān)幫助如:Syntax RunAction ActionName,IterationMode,IterationRange,ParametersActionName:String:The name of the action 2.Q:QTP8.2中調(diào)用VB函數(shù)的問題用VBscrpt寫了一些測試腳本需要的幾個(gè)通用函數(shù),有沒有方法可以用類似include的方式進(jìn)展調(diào)用,而不需要每次都把這些函數(shù)Copy到新的腳本中?A:程序開頭加上ExecuteFile".projectDeVariable.vbs"3.Q:QTP如何做回歸測試300多個(gè)TestCase,TD是否可以管

6、理?A:TD可以實(shí)現(xiàn),可以生成測試集,一個(gè)測試集可以包含假設(shè)干個(gè)測試腳本QTP8.2本身提供一個(gè)工具Test Batch Runner但是運(yùn)行完沒有報(bào)告。MI有另一個(gè)工具叫MTMmultitestmanager4.Q:qtp自動(dòng)截圖功能5.Q:在QTP中如何設(shè)置使用別的閱讀器XP系統(tǒng),用IE訪問程序時(shí),每次總提示屏蔽安裝ActiveX插件,需要手動(dòng)安裝.但把這個(gè)過程錄制到QTP后,回放一次是成功的。當(dāng)我給某個(gè)輸入框參數(shù)化了好多數(shù)據(jù)后,回放過程中,某些就會(huì)失敗.可能有兩個(gè)方面可以解決這問題1、每個(gè)動(dòng)作設(shè)置延遲時(shí)間2、設(shè)置為用別的閱讀器。失敗的提示信息是object not visibleA:1.

7、延遲可用WAIT XX單位是秒2.可以安裝插件添加新的閱讀器SystemUtil.Run"file""params""dir""op''"mode"QTP運(yùn)行可執(zhí)行文件的方法及其參數(shù)ps:建議是用IE閱讀器,或者IE內(nèi)核閱讀器做測試6.Q:checkpoint檢查網(wǎng)頁,是否能實(shí)現(xiàn)只要網(wǎng)頁出現(xiàn)亂碼就返回錯(cuò)誤報(bào)告?A:Text not displayed能解決問題關(guān)于Text Checkpoint的總結(jié)。1Text Checkpoint的檢查部分分為三個(gè)部分。Checked Text、Text

8、 Before、Text After。在默認(rèn)的情況下,Checked Text執(zhí)行的是準(zhǔn)確檢查,其余兩個(gè)部分執(zhí)行的是模糊檢查。Text BeforeAfter檢查的內(nèi)容可以比實(shí)際的內(nèi)容少。但是不能有和是實(shí)際內(nèi)容不相符的地方,否那么就失敗。2Exact match選項(xiàng)。假設(shè)選擇了這個(gè)選項(xiàng),三部分完全都進(jìn)展準(zhǔn)確檢查。個(gè)人覺得和只檢查checked Text部分沒有區(qū)別。3Text not displayed。這個(gè)選項(xiàng)本質(zhì)上就是一個(gè)結(jié)果取反的過程。就是把檢查的結(jié)果給反過來,把pass變成Fail,F(xiàn)ail變成pass。我覺得這樣就很容易理解。7.Q:WSH的應(yīng)用方法A:WSH實(shí)際上是一個(gè)腳本語言的運(yùn)

9、行環(huán)境,它之所以具備強(qiáng)大的功能,是在于其充分挖掘了腳本語言的潛力。因此,假設(shè)拋開腳本語言而空談WSH,那實(shí)際上就沒有了意義。而假設(shè)再展開來講述腳本語言,顯然就分開了今天的主題。在這種情況下,只好采取一種折衷的方法:給大家推薦幾個(gè)腳本文件利用WSH執(zhí)行任務(wù)的實(shí)例,希望大家能通過這些例子對(duì)WSH的使用有一個(gè)初步的認(rèn)識(shí)。腳本文件的編寫非常方便,你可以選用任意一個(gè)文字編輯軟件進(jìn)展編寫,編寫完成后,只需將它保存為WSH所支持的文件名就可以了如.js文件和.vbs文件。最常用的就是記事本編輯器,下面的實(shí)例都是以它作為工具編寫的。翻開記事本編輯器,在上面編寫如下內(nèi)容:Wscrpt.Echo"走近W

10、SH"將它保存為以.vbs或.js為后綴名千萬不要寫成了.txt的文件并退出記事本。雙擊執(zhí)行這個(gè)文件。這一次,我們要利用WSH完成一次創(chuàng)立十個(gè)文件夾的工作。代碼如下:dim objdir setbjdir=wscrpt.createobject"scrpting.filesystemobject"for k=1 to 10 anewfolder="c:chapter"&k objdir.createfolderanewfoldernext同樣,將它存為.vbs文件并退出。運(yùn)行后,我們會(huì)發(fā)現(xiàn),C盤根目錄下一次性多出了十個(gè)新文件夾。最后,再

11、舉一個(gè)在效勞器上的運(yùn)用。下面的代碼將幫助你重新啟動(dòng)指定的IIS效勞:'define aconstant for stopped services Const ADS_SERVICE_STOPPED=1'get an ADSI object for acomputer SetbjComputer=GetObject"WinNT:/MYCOMPUTER,computer"'get an object for aservice SetbjService=objComputer.GetObject"Service","MYSER

12、VICE"'check to see if the service is stopped IfobjService.Status=ADS_SERVICE_STOPPEDThen'if the service is stopped,then start it objService.Start End If將它以startsvc.vbs為名保存在C:盤根目錄。并通過如下命令執(zhí)行:Cscrpt C:STARTSVC.VBS。運(yùn)行后,經(jīng)你指定的IIS效勞項(xiàng)將被重新開啟。其實(shí),在Windows的samples目錄下,有個(gè)WSH文件夾,那里面有不少很具代表性的.vbs和.js腳本

13、文件。此外,利用WSH還可以自己編寫腳本文件來進(jìn)步網(wǎng)絡(luò)管理方面的效率。8.Q;從EXCEL中導(dǎo)出數(shù)據(jù)進(jìn)展測試datatable.AddSheet"51sheet"datatable.ImportSheet"f:test.xls","testsheet","51sheet"Dim i,RowCount'定義兩個(gè)變量i=0 RowCount=datatable.GetSheet"51sheet".GetRowCount'設(shè)置RowCount等于51sheet中的行數(shù)。msgbox R

14、owCount Do while irowcount i=i+1'第一次進(jìn)入循環(huán),執(zhí)行這句后,i=1'datatable.getsheet"51sheet".setcurrentrowi這句話被我注釋掉了,正確的寫法應(yīng)該是下面這樣,分開寫。datatable.getsheet"51sheet"datatable.setcurrentrowi'執(zhí)行過上面兩句后,CurrentRow是第一行。tempData=DataTable.GetSheet"51sheet".GetParameter"Name&qu

15、ot;.Value'如今,我們調(diào)用msgbox看看下面這種調(diào)用方法得到的是什么值?沒錯(cuò),是第一行的值,下一次循環(huán)呢?'得到的是第二行的值么?msgbox"GetParameter-Name:"&tempData'這里彈出我們要看的值。'下面我們用另外一種方法來得到。msgbox"GetParameter-i:"&DataTable.GetSheet"51sheet".GetParameter1.Value'這里我用GetParameter1去得到sheet中第一列的值。loop

16、9.Q:關(guān)于dtGlobalsheet與dtGlobalsheet 1dtGlobalsheet只有一個(gè),它的index值比較特殊,它有兩個(gè)index值,一個(gè)是1還有一個(gè)是內(nèi)置的默認(rèn)的1000。你可以用1或者1000去引用它都是正確的。當(dāng)然了,假設(shè)你用dtGlobalsheet來引用它也是正確的。這個(gè)sheet的Name叫做"Global"。注意:SheetName是區(qū)分大小寫的。2dtLocalsheet可以用index:1001來引用,當(dāng)然,也可以用2來引用。至于其它自定義的sheet嘛,你就只能用index:3來引用了。它沒有內(nèi)置的默認(rèn)的類似前兩個(gè)那樣的index值。

17、3datatable這個(gè)對(duì)象只有一個(gè)。就是所有sheet的集合?;蛟S你把它理解為excel文件比較好。dtsheet呢?就是其中的每個(gè)sheet。所不同的就是MI為他們做了一些默認(rèn)值。在我們的應(yīng)用中,可能會(huì)有多個(gè)action,如:actiion1,actiion2,actiion3這些action也分別對(duì)應(yīng)有各自默認(rèn)的LoaclSheet.即:actiion1,actiion2,actiion3。假設(shè)每個(gè)action中,我們都只用到一個(gè)sheet,那就好辦了,在每個(gè)action中都可以用localsheet來引用,但是假設(shè)我們有兩個(gè)及兩個(gè)以上的sheet.那么就比較容易亂套了。10.Q:挪動(dòng)當(dāng)

18、前位置的行For i=1 to 3datatable.getsheet"Global"datatable.setcurrentrowiDataTable"C","Global"=DataTable"nodename","Global"'把表Global中的nodename字段中的內(nèi)容取出來。Next 11.Q:如何能記錄到頁面的校驗(yàn)碼?Output value能不能得到web頁面的校驗(yàn)碼,一般的校驗(yàn)碼是由圖片隨即生成的,用QTP怎么錄腳本在登陸前得到校驗(yàn)碼并輸入到校驗(yàn)碼一欄A:1一個(gè)很簡

19、單的方法:測試時(shí)叫開發(fā)屏蔽掉檢驗(yàn)碼的功能后,再錄制腳本。檢驗(yàn)碼的功能可以手工很簡單測試出來。2想得到圖片的校驗(yàn)碼,唯一的方法就是跟程序員拿程序,然后自己在腳本里面寫FUCNTION!其它就要手動(dòng)輸入了!12.Q:QTP正那么表達(dá)式的幫助13.自動(dòng)測試施行方案1分析施行自動(dòng)化測試可能存在的風(fēng)險(xiǎn):就是決定是否施行,用本錢時(shí)間效果。2制定施行的時(shí)機(jī):也就是在什么階段3研究所要測試的功能性能4分析在測試中可能遇到的問題和困難5預(yù)估所需要的人時(shí)和相應(yīng)的硬件7確定負(fù)責(zé)人員和相關(guān)測試人員6制定詳細(xì)的測試方案方案7最后是執(zhí)行方案14.Q:一個(gè)Action里如何調(diào)用在另一個(gè)Action中定義的函數(shù)、過程或變量、

20、常量例如:-'Action_A Public strURL Function QueryListEnd Function-'Action_B'如何調(diào)用QueryList函數(shù)和strURL A:1可以把這些變量和Function放在vbs文件作為resource文件共享,在每個(gè)Action中添加該文件.假設(shè)function中出現(xiàn)控件調(diào)用,那么必須確保該控件在相應(yīng)的Action的object repository中是存在的.2定義一個(gè)可被調(diào)用的ACTION里面唯一的放一個(gè)FUNCTION 15.Q:如何管理QTP的源代碼?QTP生成的源代碼比較多,而且和環(huán)境控件都有關(guān),假設(shè)

21、需要多人同時(shí)開發(fā),請(qǐng)問如何管理源代碼?A:一個(gè)是代碼你可以通過vss,cvs等來進(jìn)展管理一個(gè)是通過td或者qc的基于用例的代碼管理其實(shí)第一種方法是基于版本控制來進(jìn)展的,第二種方法是基于用例管理進(jìn)展的角度不同,管理方法也不同,不過團(tuán)隊(duì)協(xié)作需要的大家分工明確,進(jìn)度控制。代碼管理可以借鑒開發(fā)的方法。16:Q:腳本不能回放,IE中的AtiveX設(shè)置有問題?A:TOOL-OPTIONS-Ative screen然后點(diǎn)開advanced.,把LOAD ACTIVEX CONTROLS打勾TOOL-OPTIONS-Ative screen然后點(diǎn)開advanced.,run scrpts-disabled!1

22、7.Q:如何參數(shù)化link Browser"Browser".Page"Page".Sync Browser"Browser".Navigate"軟件測試論壇-軟件測試,軟件質(zhì)量工程師".Sync Set tags=Browser"Browser".Page"51Testing軟件測試論壇-軟件測試,軟件質(zhì)量工程師".Object.links Dim i,j,arri=0 For Each element in tags If Ucaseelement.tagname=&qu

23、ot;A"and leftelement.InnerText,1=""Then ReDim Preserve arri+1arri=element.InnerText i=i+1 end if Next For j=0 to iBrowser"Browser".Page"51Testing軟件測試論壇-軟件測試,軟件質(zhì)量工程師".Link"版主討論區(qū)".SetTOProperty"Text",arrjBrowser"Browser".Page"51Test

24、ing軟件測試論壇-軟件測試,軟件質(zhì)量工程師".Link"版主討論區(qū)".Click Browser"Browser".Back Next這段代碼先是翻開一個(gè)空的頁面,然后輸入url.到達(dá)論壇首頁。然后得到所有版面的名稱,也就是link的名稱。存到數(shù)組里面。然后使用SetTOProperty更換錄制時(shí)候錄下的link的屬性。這時(shí)候再click 18.Q:QTP在Debug狀態(tài),在Export View區(qū)域不能寫入任何東西A:假設(shè)你的目的是在debug過程中修改已執(zhí)行過的命令,可以在Debug view的Command中執(zhí)行命令,如重新執(zhí)行已經(jīng)執(zhí)行

25、過的命令,修改變量的值等等。如:Window"Flight Reservation".WinEdit"Name:".Set"51testing"已經(jīng)執(zhí)行,假設(shè)如今想修改"51testing"為"testing",可以在command中執(zhí)行Window"Flight Reservation".WinEdit"Name:".Set"testing"19.Q:動(dòng)態(tài)變化值如何獲取A:VAL=Browser"歡送使用我的工作臺(tái)"

26、;.Page"歡送使用我的工作臺(tái)".Frame"managePlace_7".WebRadioGroup"userAccountId_0".GetROProperty"Value"Browser"歡送使用我的工作臺(tái)".Page"歡送使用我的工作臺(tái)".Frame"managePlace_7".WebRadioGroup"userAccountId_0".select val 20.Q:如何一一獲得Table中某欄link的text?A:通

27、過上面link的學(xué)習(xí).我終于融會(huì)貫穿,完成了我的問題:與大家共享:/Browser"Login".Page"Page".Frame"contents".ViewLink"treeview".Image"Tplus".Click Browser"Login".Page"Page".Frame"contents".ViewLink"treeview".Image"Tplus_2".Click Brow

28、ser"Login".Page"Page".Frame"contents".ViewLink"treeview".Link"開課設(shè)置".Click Browser"Login".Page"Page".Frame"main".WebList"drpStatus".Select"任意"Browser"Login".Page"Page".Frame"ma

29、in".WebButton"查找".Click Browser"Login".Page"Page".Sync Dim finded,findCode,Nowout'define aconstrat for find findCode=110901 finded=false Function MaxPagepageString'msgbox pageString Dim ilen,i,j ilen=lenpageStringi=ilen While i0 j=midpageString,i,1'msgb

30、ox jIf instr"123456789",j0 Then MaxPage=j'msgbox MaxPage Exit function End If i=i-1 Wend End Function Dim trowcount,maxp trowcount=Browser"Login".Page"Page".Frame"main_8".WebTable"開課代碼".RowCount msgbox"Rowcount:"&trowcount Nowout=Br

31、owser"Login".Page"Page".Frame"main_8".WebTable"開課代碼".GetCellDatatrowcount,1Nowout=trimNowoutmaxp=MaxPageNowoutmsgbox"max page:"&maxp Dim nowPage,checkid For nowPage=1 to maxp If finded Then Exit for End If'link to the當(dāng)前所需page If nowpage 1Then

32、 Browser"Login".Page"Page".Frame"main_8".Link"2".SetTOProperty"Text",""&nowpage&""Browser"Login".Page"Page".Frame"main_8".Link"2".Click Browser"Login".Page"Page".

33、Sync end if'Get the rowcount of table in now page trowcount=Browser"Login".Page"Page".Frame"main_8".WebTable"開課代碼".RowCount msgbox"Rowcount:"&trowcount'link every record in the table of the page for i=2 to trowcount-2 Nowout=Browser"

34、Login".Page"Page".Frame"main_8".WebTable"開課代碼".GetCellDatai,2'msgbox i&":"&Nowout checkid="dgCourse:_ctl"&i+1&":_ctl0"Browser"Login".Page"Page".Frame"main_8".WebCheckBox"dgCourse:_

35、ctl3:_ctl0".SetTOPropert y"name",checkid Browser"Login".Page"Page".Frame"main_8".WebCheckBox"dgCourse:_ctl3:_ctl0".Set"ON"Browser"Login".Page"Page".Frame"main_8".Link"0901".SetTOProperty"Tex

36、t",Nowout Browser"Login".Page"Page".Frame"main_8".Link"0901".Click Browser"開課設(shè)置詳細(xì)信息".Page"開課設(shè)置詳細(xì)信息".Sync'wait1msgbox"begun"msgbox findCode msgbox Nowout msgbox"finished"If trimfindCode=trimNowoutThen finded=true

37、 msgbox"find is ok!"wait2Exit for End If Browser"開課設(shè)置詳細(xì)信息".Close Browser"Login".Page"Page".Sync next Next 21.Q:網(wǎng)頁下拉框的選擇A:For i=1 to 10 Randomize IndexNum=Int10-5+1*Rnd+5Browser"Mercury Tours".Page"Find Flights_2".WebList"arrive".S

38、elect"#"&IndexNum wait3Next Sub ChildObjects_Example'The following example uses the ChildObjects method to find all the'list objects on aWeb page,and then to select an item in each list.SetDesc=Descrption.CreateoDesc"micclass".Value="WebList"Set Lists=Browser"Mercury Interactive".Page"Mercury Intera

溫馨提示

  • 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)論