freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

qtp自動化測試技術領航畢業(yè)論文(參考版)

2025-07-01 12:18本頁面
  

【正文】 對象?! ?.Properties和Operations的切換  這里以切換選項卡的形式來查看對象的屬性或查看關于該對象控件的操作的一些方法,默認選項卡是查看對象屬性的?! 『笳呤荌dentification Properties,以后會牽涉到對象庫編程中的兩個重大概念Test Objects(測試對象,TO)和Runtime Objects(運行時對象,RO),在為TO或RO進行編碼的時候使用的就是QTP自己封裝的這些對象屬性。所以,關于這些封裝屬性的秘密,在下一章節(jié)中會講到,敬請期待吧!  言歸正傳。什么叫封裝?這個在這里就不多解釋了,因為和本書無關,不過在這里可以告訴你,QTP,把“百度搜索框”封裝成一個?WebEdit?控件,依據(jù)在哪?因為?Class Name?=?WebEdit(位置在圖1104中已標注)。讓作者來替廣大新人讀者解惑,本地屬性就把它看作一個對象控件的自身接口的屬性,而鑒別屬性它是QTP默認為該對象控件封裝的屬性。在這里先大致介紹一下,以后還會多次碰到。在這里能看到“百度搜索框”被探測到了,它就是“WebEdit:wd”?! ?.顯示對象的區(qū)域  在使用探測手指后,這塊顯示區(qū)域會顯示Object Spy探測到的對象及其父對象、祖父對象?! ?.探測手指  點擊該手指后會出現(xiàn)一個白色的手指,就和添加對象一樣,作用就是選擇需要探測的對象,在下一個小節(jié)中,作者會擴充一個知識點“捕獲對象時的模式切換”。那么就讓新人和作者一起來看界面說明圖,如圖1103所示。圖1102  如圖1102所示,已經(jīng)見到了“Jack先生”的廬山真面目,那么接下來作者用它探測一個對象,然后對這個界面做一些說明(如何探測先不講,后面就講。如果沒有打開對象庫,那就直接點擊工具欄中的圖標,如果對象庫已被打開,那么就可以點擊里面的圖標(前面的內(nèi)容中已提到過,點擊對象庫中的Spy圖標一樣能調(diào)用它),做到靈活應用!細心的讀者會問,為什么不支持快捷鍵?這個問題請咨詢HP,至少目前暫時還沒有快捷鍵。圖1101 ?。?)打開對象庫,在對象庫中找到“偵探Jack”,然后點擊它(推薦)。 ?。?)QTP上方菜單欄→Tools→Object Spy。如果沒有內(nèi)置的探測器,也一定要去尋找一個獨立的外部探測器來配合使用。在這一小節(jié),作者將講解第二種辦法。不過,對象控件不是萬能的,它們都有自己的業(yè)務范圍,所以,它們只對范圍內(nèi)的有效!  那么,該如何去探知對象控件的內(nèi)部結構呢?有兩種辦法:第一種,自己識別對象控件的內(nèi)部結構!如果第一種辦法不適合你或者你沒法實現(xiàn)。想要掌控這些“五花八門”的對象控件,就一定要深入地去認識它們,只有掌握了它們的內(nèi)部結構,自動化測試工程師才能把測試工作做起來?! ∽ⅲ罕拘」?jié)的內(nèi)容針對對象庫功能的基本操作,但是都是非常具有實用的,擴展操作或高級操作如共享對象庫、對象庫合并等知識在后續(xù)小節(jié)中講解。通過這兩個實例,相信讀者應該可以理解導出對象的兩個不同的概念及其運用了。圖1100  我們可以看到,在副對象庫中的確存在“”這個文件,并且當前Action自動會從可用區(qū)域移至已用區(qū)域,這也就意味著該文件中的對象已經(jīng)在履行副對象的使命了。需要驗證兩點:第一點,副對象是灰色的,那我們來看究竟有沒有達到預期結果(讀者也可以自己在本地環(huán)境上同步試驗),如圖199所示。繼續(xù),后者其實就多了一個“替換”的附加功能,作者起先誤以為是保存文件的時候,如果命名相同則會覆蓋,保留下新的文件內(nèi)容,但是仔細想想就覺得不對,這好像有點多此一舉,因為Mercury并不需要單獨開發(fā)這個功能,Windows系統(tǒng)現(xiàn)成的就有這個功能了,那這里的替換到底是什么?作者其實也不大明白……那我們現(xiàn)在怎么辦??通過幫助文檔“F1”找到想要的答案,在輸入關鍵字“Export and Replace Local Objects”后,“F1”終于揭開了真相,如圖198所示。圖197通過圖197中的操作,就可以保存一個對象庫文件到指定文件夾中了,這個是最簡單的,接下來主要講講后者,在講之前先做一下準備工作。圖196  上圖196所示就是這個功能的具體位置,F(xiàn)ile菜單下有3個子菜單,其中Close就是關閉對象庫,這個太簡單了,主要說一下“Export Local Objects”和“Export and Replace Local Objects”,這兩個功能的共同點是,它們都可以導出對象,前者就是最單純的導出本地對象,而后者稍許復雜點,除了導出本地對象以外還有一個“代替”的附加功能,這個附加功能的實際效果是什么?讓我們一起來看兩個實例。點擊后即宣告“轉職”成功,需要注意的是在“轉職”后,原先的副對象庫文件是絕對不會受到影響的,因為“轉職”只起到了Copy作用,它并沒有改變文件自身內(nèi)容的本領。圖194請注意圖194中的兩個方框位置,先來看左下角的這個,Copy to Local是灰色的,這是怎么回事?剛才還不是說副對象可以轉成本地對象的嗎?那為什么這個功能灰色了?請看右上角的方框,此時,也就是副對象,而要使對象“轉職”必須切換到All Objects下進行,操作實例如圖195所示。在講“副對象庫”的時候就講過,由副對象庫導入的對象是無法編輯的,要編輯的話就必須使其先“轉職”成本地對象庫(即主對象庫)。除此之外其他任何本地對象都被排除在外,如果有多個副對象被添加進對象庫,它們也只會各司其職。All Objects下顯示了所有的對象,其中副對象“視頻”以灰色顯示,但是其父對象Page和祖父對象Browser沒有灰色,被轉化成為本地對象,因為它們另外還有個身為本地對象的后裔“wd”,這個知識點在前面的內(nèi)容中已經(jīng)講解過了,希望在這里能起到一個復習的作用。分別來看一下各種對象類型的實際圖例,如圖19圖19圖193所示?! 〗酉聛碜鲆粋€實驗,首先需要有低碳的理念,在導入副對象庫并應用到Action后,再添加一個“百度搜索框”(本地添加)。調(diào)用該函數(shù)CallEndEndMsgBox1Pos返回的值如果不等于1代表不存在則報錯Pos=添加后的驗證:查找副對象庫并將值返回給變量,如果存在返回1(RepPath)39。初始化:如果存在殘留的副對象庫則刪除EndobjectrepositorynameRepPathobjectrepositorynameRepPath0If instr(objectrepositoryname,.tsr)39。DimAddObjectRepository(objectrepositoryname)下面提供一個用VBScript后臺語言動態(tài)調(diào)用副對象庫的函數(shù)供讀者參考:PublicD:\QTP自動化測試技術領航\  這句代碼寫在腳本中,一旦被執(zhí)行到以后會觸發(fā)加載對象庫文件使其成為副對象庫的事件,效果和手工添加副對象庫完全一致,只是沒有了選擇Action并加載的步驟,因為沒必要,把這句代碼寫在Action1中,則說明加載到Action1中;添加到Action2中,則代碼加載到Action2中,依此類推?! 〉竭@里為止,整個實例過程講解全部結束,這個實例還是比較細致的,在分步講解過程中,也擴展穿插了一些小知識點,希望讀者能夠完全掌握“副對象庫”的使用方法并做到融會貫通!另外需要注意,點擊QTP的上方菜單欄Resources→Associate Repositories,同樣能夠打開副對象庫,入口不同但是結果是相同的。那么在“視頻”對象加載進來后,由于它的祖父對象和父對象與Action2中的完全吻合,QTP會在吻合的時候進行合并,“戶主”還是原來的“本地對象”,所以“視頻”對象只能自己灰色,QTP絕對不會允許它改變它祖父和父親的“戶籍”,這就是QTP的一個規(guī)則,雖然不是很重要,但是還是需要為讀者揭開這個謎團。不過相信細心的讀者會發(fā)現(xiàn)一個問題,大家先把書翻到前面看圖187,Action1中的所有對象都是灰色顯示的,這代表這些對象是從副對象庫中加載的,那為什么到了Action2中,只有“視頻”這個子對象灰色而其父對象與祖父對象不灰色(請看QTP當前環(huán)境,也可看圖190)?其實道理很簡單,“視頻”、“百度一下”、“wd(搜索框)”都是子對象,它們的祖父對象Browser以及父對象Page是3兄弟共有的。所以,只需要將Action2“右移”就可以了,步驟直接忽略,最終效果如圖190所示。這一步唯一要做的就是把“視頻”對象同樣添加到Action2中,以備不時需要。圖188圖189  下面就可以根據(jù)業(yè)務要求正確地在腳本的Action2中進行對象庫編程了。我們在預備工作中已經(jīng)為Action2添加了“點擊”所需的對象了(圖188),現(xiàn)在就需要通過導入副對象庫的方式組合進來?! 〉谌剑贏ction2中輸入“QTP自動化測試技術領航”并點擊“百度一下”。圖186  在圖186所示的步驟完成后,點擊OK按鈕,整個操作完成,如圖187所示。圖184圖185  我們來看上面兩張圖,通常建立的最基礎的腳本就是Test(圖184),在Test Flow中,Test下會以列表形式顯示所有Action及其執(zhí)行邏輯與順序(圖185)。在圖183中可以看到,在可用Action區(qū)域中一共存在兩個可用Action,這兩個Action就是在腳本中建立的,腳本Test中有多少個Action,這個區(qū)域就有多少個Action。圖183 ?。窂阶远ǎ! 〉诙?,在Action1中點擊“視頻”鏈接?! 〉谝徊?,不得再添加任何對象控件?! ∈紫然仡櫼幌聞倢W過的知識(3.對象庫中的Action切換),在上述描寫的預備工作中的第4點中我們將Action切換至Action2了,所以在完成了第5點后,此時“百度一下”這個測試控件被添加在對象庫中的Action2里,而Action1里是沒有這個對象的?! 。?)Action2很有可能以后會添加新業(yè)務,所以,需要在Action2中包含所有已知業(yè)務所需的對象,即“視頻”這個Link對象也需要存在?!  ?在Action1中點擊“視頻”鏈接。 ?。?)不得再添加任何對象控件。要求amp?! 。?)進入“百度”首頁,將“百度一下”這個WebButton測試控件添加至對象庫?! 。?)準備兩個Action(除默認的Action1外再新增一個Action2)?! 。?)事先準備兩個對象庫文件作為副對象庫,(“百度”首頁上的“視頻”這個Link對象,“百度搜索框”)。界面中一共有3塊區(qū)域,已經(jīng)在圖中標識了,接下來,讓我們一起動手做一個完整的實例。那么接下來,讓我們先來看一下具體是如何調(diào)用的,圖182就是打開副對象庫后的窗口界面。這個副對象庫功能在實際項目應用中經(jīng)常會被使用到,可以根據(jù)具體的業(yè)務情況事先封裝好一些項目要用到的對象,并組合成一個對象庫文件,在需要時就可以調(diào)用這些對象庫文件到對象庫中,成為一個副對象庫。在這里,讀者暫時先知道對象庫里也有一個就可以了,后面的小節(jié)中會重點講解Object Spy相關知識。舉個例子,下面這句代碼就會使“wd”這個WebEdit對象閃爍:Browser(百度一下,你就知道).Page(百度一下,你就知道).WebEdit(wd).Highlight  9.初步認識下Object Spy  在打開對象庫以后,也有一個Object Spy功能,這個功能和另一個QTP內(nèi)置Object Spy是一模一樣的。反正,只要能成功定位腳本錯誤的具體原因,無論是什么方法,都是好方法,在今后的內(nèi)容中,作者也會盡量多列舉些這方面的內(nèi)容。好好地利用“亮燈”技術可以給腳本調(diào)試帶來很多便利。8.對象閃爍(亮燈)  Highlight in Application功能可以使對象在程序或者Web網(wǎng)頁上閃爍,非常的顯眼、高調(diào)!在實際項目中,這個功能使用率很高,大多出現(xiàn)在調(diào)試腳本的時候。圖181  雖然無法更新不同種類的對象控件,但是同種類的控件可以隨意更新,切記!另外,作者在做項目時,也碰到過一個現(xiàn)象,就是對象其實沒有改變,但是仍然由于對象識別不了而腳本報錯了,此時,也可以使用對象更新功能,更新一下就好了。順便提醒一下:對象越多、業(yè)務越復雜,“手工添加”越能超過“錄制后修改”!  7.對象更新  當版本更新后,原先的腳本由于對象變化導致無法順利運行,此時就可以使用這個功能進行更新,操作步驟和添加對象的3個步驟完全一樣,只是按鈕不同,這里不再重復。但是,這些都是作者之后的補救工作,是后面才改的,這樣也會存在不少風險,有時候稍不留神就會改錯,要知道對象改錯了是會影響腳本的。另外再來看看腳本中的第2行代碼,發(fā)現(xiàn)對象在對象庫中更改名稱以后,在腳本中也會自動更新,可以看到在腳本中原先的“WebEdit(username)”同步更新成了“WebEdit(用戶名)”。圖177  第二步,隨意點擊一下界面任何位置,目的是為了完成Name的變更,相當于點擊“確定”的功效,“整容”后的效果如圖178所示?! 〔襟E如下。其實這些“茬”剛才在“腳本代碼圖1”中是同樣存在的,只是作者有意將其留到這里。圖176  先不說怎么為對象改名,當務之急是要繼續(xù)找對象庫的“茬”!圖176中的這些對象就是在錄制時同步添加進對象庫的,是腳本里所有涉及的對象。另外需要注意的是,對象類型如WebEdit是不可以更改的,只能修改其括號內(nèi)的Name。軟件測試?|)”簡化成“Browser(51Testing軟件測試論壇)”,將“Page(51Testing軟件測試論壇 軟件測試?|)”簡化成“Page(51Testing軟件測試論壇)”等?! ‖F(xiàn)在可以開始解釋了。再繼續(xù)找找這個錄制出來的腳本的“茬”!大家有沒有發(fā)現(xiàn)每行代碼都特別的長?長到作者必須要通過換行才能把這張例圖的內(nèi)容完全截取下來,不然肯定有一部分代碼無法顯示了?!  ?甲說:“QTP寫的腳本簡直太完美
點擊復制文檔內(nèi)容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1