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

正文內(nèi)容

精通qtp——自動(dòng)化測試技術(shù)領(lǐng)航-資料下載頁

2025-03-26 03:14本頁面
  

【正文】   這句代碼寫在腳本中,一旦被執(zhí)行到以后會(huì)觸發(fā)加載對象庫文件使其成為副對象庫的事件,效果和手工添加副對象庫完全一致,只是沒有了選擇Action并加載的步驟,因?yàn)闆]必要,把這句代碼寫在Action1中,則說明加載到Action1中;添加到Action2中,則代碼加載到Action2中,依此類推。通常,把3大實(shí)時(shí)動(dòng)態(tài)加載的代碼寫在腳本的最前面幾行,另外需要注意的是,3大實(shí)時(shí)動(dòng)態(tài)加載的生命周期都很短,腳本執(zhí)行結(jié)束它們也就結(jié)束。下面提供一個(gè)用VBScript后臺(tái)語言動(dòng)態(tài)調(diào)用副對象庫的函數(shù)供讀者參考:PublicFunctionAddObjectRepository(objectrepositoryname)DimPos39。判斷:如果已存在.tsr后綴名則直接使用該文件路徑,如果不存在則添加后綴名If instr(objectrepositoryname,.tsr)0ThenRepPath=objectrepositorynameelseRepPath=objectrepositorynameamp。.tsrEndIf39。初始化:如果存在殘留的副對象庫則刪除()39。添加副對象庫(RepPath)39。添加后的驗(yàn)證:查找副對象庫并將值返回給變量,如果存在返回1Pos=(RepPath)MsgBoxPos39。返回的值如果不等于1代表不存在則報(bào)錯(cuò)IfPos1ThenMsgBox找不到副對象庫!EndIfEndFunction39。調(diào)用該函數(shù)CallAddObjectRepository(D:\QTP自動(dòng)化測試技術(shù)領(lǐng)航\)11.對象庫中對象類型的分類與切換  這個(gè)功能相對比較簡單,其更大的意義在于方便用戶操作,可使對象庫的類型根據(jù)實(shí)際操作進(jìn)行準(zhǔn)確而快速地分類,它是以下拉框形式出現(xiàn)的,默認(rèn)情況下只有All Objects和Local Objects兩個(gè)類型,含義就如同其字面意思,不多做解釋了?! 〗酉聛碜鲆粋€(gè)實(shí)驗(yàn),首先需要有低碳的理念,在導(dǎo)入副對象庫并應(yīng)用到Action后,再添加一個(gè)“百度搜索框”(本地添加)。在這些準(zhǔn)備工作全部完成以后,這個(gè)其實(shí)就是副對象(也可叫作輔助對象),以導(dǎo)入到副對象庫的對象庫文件名顯示,可以有多個(gè)不同的副對象,它們的命名也各不相同,但是都屬于同一個(gè)種類。分別來看一下各種對象類型的實(shí)際圖例,如圖19圖19圖193所示。圖191  如圖191所示。All Objects下顯示了所有的對象,其中副對象“視頻”以灰色顯示,但是其父對象Page和祖父對象Browser沒有灰色,被轉(zhuǎn)化成為本地對象,因?yàn)樗鼈兞硗膺€有個(gè)身為本地對象的后裔“wd”,這個(gè)知識(shí)點(diǎn)在前面的內(nèi)容中已經(jīng)講解過了,希望在這里能起到一個(gè)復(fù)習(xí)的作用。圖192  如圖192所示,Local Objects下正確顯示了手工添加的本地對象,副對象是絕對不會(huì)在這里出現(xiàn)的,如果出現(xiàn)請將Bug提交給HP公司!圖193  如圖193所示,可以看到所有的對象都是灰色的,這就足以證明它們是通過特殊渠道進(jìn)來的。除此之外其他任何本地對象都被排除在外,如果有多個(gè)副對象被添加進(jìn)對象庫,它們也只會(huì)各司其職?! ≡谶@里還需要提到一個(gè)功能,可以看到,圖193中的這些對象都是不能編輯的。在講“副對象庫”的時(shí)候就講過,由副對象庫導(dǎo)入的對象是無法編輯的,要編輯的話就必須使其先“轉(zhuǎn)職”成本地對象庫(即主對象庫)。怎么“轉(zhuǎn)職”呢?很簡單,在你需要“轉(zhuǎn)職”的對象上點(diǎn)擊右鍵后,再點(diǎn)擊Copy to Local即可,現(xiàn)在要把“視 頻”這個(gè)對象“轉(zhuǎn)正”了,來看下面的操作實(shí)例,如圖194所示。圖194請注意圖194中的兩個(gè)方框位置,先來看左下角的這個(gè),Copy to Local是灰色的,這是怎么回事?剛才還不是說副對象可以轉(zhuǎn)成本地對象的嗎?那為什么這個(gè)功能灰色了?請看右上角的方框,此時(shí),也就是副對象,而要使對象“轉(zhuǎn)職”必須切換到All Objects下進(jìn)行,操作實(shí)例如圖195所示。圖195  同樣先注意兩個(gè)方框位置,這個(gè)時(shí)候可以清楚地看到Copy to Local可以點(diǎn)擊了。點(diǎn)擊后即宣告“轉(zhuǎn)職”成功,需要注意的是在“轉(zhuǎn)職”后,原先的副對象庫文件是絕對不會(huì)受到影響的,因?yàn)椤稗D(zhuǎn)職”只起到了Copy作用,它并沒有改變文件自身內(nèi)容的本領(lǐng)。另外還需要注意一點(diǎn),“轉(zhuǎn)職”跟復(fù)制、剪切、刪除對象是相反的,父對象一旦“轉(zhuǎn)職”了,祖父對象也受影響跟著“轉(zhuǎn)職”而不會(huì)制約子對象,復(fù)制、剪切、刪除則是父對象制約子對象,而祖父對象不受任何制約,正好相反,讀者可以多加嘗試!  知識(shí)點(diǎn)補(bǔ)充  以上的11點(diǎn)全部講解完了,除此之外,作者再介紹一項(xiàng)圖中沒有用數(shù)字標(biāo)識(shí)出來的對象庫導(dǎo)出(替換)功能,在項(xiàng)目應(yīng)用中也時(shí)常會(huì)使用到,先看這個(gè)功能出自于哪里,如圖196所示。圖196  上圖196所示就是這個(gè)功能的具體位置,F(xiàn)ile菜單下有3個(gè)子菜單,其中Close就是關(guān)閉對象庫,這個(gè)太簡單了,主要說一下“Export Local Objects”和“Export and Replace Local Objects”,這兩個(gè)功能的共同點(diǎn)是,它們都可以導(dǎo)出對象,前者就是最單純的導(dǎo)出本地對象,而后者稍許復(fù)雜點(diǎn),除了導(dǎo)出本地對象以外還有一個(gè)“代替”的附加功能,這個(gè)附加功能的實(shí)際效果是什么?讓我們一起來看兩個(gè)實(shí)例。第1個(gè)實(shí)例就是最簡單的導(dǎo)出對象,操作實(shí)例圖197所示。圖197通過圖197中的操作,就可以保存一個(gè)對象庫文件到指定文件夾中了,這個(gè)是最簡單的,接下來主要講講后者,在講之前先做一下準(zhǔn)備工作。很簡單,在新腳本里添加一個(gè)“百度一下”按鈕就可以了。繼續(xù),后者其實(shí)就多了一個(gè)“替換”的附加功能,作者起先誤以為是保存文件的時(shí)候,如果命名相同則會(huì)覆蓋,保留下新的文件內(nèi)容,但是仔細(xì)想想就覺得不對,這好像有點(diǎn)多此一舉,因?yàn)镸ercury并不需要單獨(dú)開發(fā)這個(gè)功能,Windows系統(tǒng)現(xiàn)成的就有這個(gè)功能了,那這里的替換到底是什么?作者其實(shí)也不大明白……那我們現(xiàn)在怎么辦??通過幫助文檔“F1”找到想要的答案,在輸入關(guān)鍵字“Export and Replace Local Objects”后,“F1”終于揭開了真相,如圖198所示。圖198  如圖198所示,幫助文檔已經(jīng)寫的非常清楚,原來選擇Export and Replace Local Objects后,這些對象就會(huì)自動(dòng)替換成副對象(也叫輔助對象),以副對象的身份出現(xiàn),其本地對象的身份將被剝奪,原來這里的替換含義是將本地對象替換成副對象,實(shí)際效果就是導(dǎo)出這些對象并自動(dòng)替換成副對象來使用,那么將其導(dǎo)出,就命名為“”,并且來驗(yàn)證一下到底正確不正確。需要驗(yàn)證兩點(diǎn):第一點(diǎn),副對象是灰色的,那我們來看究竟有沒有達(dá)到預(yù)期結(jié)果(讀者也可以自己在本地環(huán)境上同步試驗(yàn)),如圖199所示。圖199  第一點(diǎn)通過了,那么接下來驗(yàn)證第二點(diǎn),副對象庫里是否存在剛才被導(dǎo)出的文件,打開副對象庫,如圖1100所示。圖1100  我們可以看到,在副對象庫中的確存在“”這個(gè)文件,并且當(dāng)前Action自動(dòng)會(huì)從可用區(qū)域移至已用區(qū)域,這也就意味著該文件中的對象已經(jīng)在履行副對象的使命了。至此,試驗(yàn)結(jié)束,驗(yàn)證通過,和“F1”里描述的毫無差錯(cuò)。通過這兩個(gè)實(shí)例,相信讀者應(yīng)該可以理解導(dǎo)出對象的兩個(gè)不同的概念及其運(yùn)用了。特別是后者,如果能在實(shí)際項(xiàng)目中舉一反三且靈活運(yùn)用的話,一定可以化繁為簡,并很大程度上提高對象維護(hù)的效率?! ∽ⅲ罕拘」?jié)的內(nèi)容針對對象庫功能的基本操作,但是都是非常具有實(shí)用的,擴(kuò)展操作或高級操作如共享對象庫、對象庫合并等知識(shí)在后續(xù)小節(jié)中講解。 Object Spy讓對象無處藏身 結(jié)交新朋友—偵探Jack  做基于界面的功能自動(dòng)化測試,其歸根到底就是對界面上的對象控件做文章。想要掌控這些“五花八門”的對象控件,就一定要深入地去認(rèn)識(shí)它們,只有掌握了它們的內(nèi)部結(jié)構(gòu),自動(dòng)化測試工程師才能把測試工作做起來。內(nèi)部結(jié)構(gòu)是什么?其實(shí)就是一個(gè)個(gè)(大批量)的對象屬性,正是利用這些屬性才能控制這些對象控件,以便使用它們做每一件事。不過,對象控件不是萬能的,它們都有自己的業(yè)務(wù)范圍,所以,它們只對范圍內(nèi)的有效!  那么,該如何去探知對象控件的內(nèi)部結(jié)構(gòu)呢?有兩種辦法:第一種,自己識(shí)別對象控件的內(nèi)部結(jié)構(gòu)!如果第一種辦法不適合你或者你沒法實(shí)現(xiàn)。那么第二種辦法就是獲得一種探測器工具,用它可以輕松探測各類對象控件的屬性。在這一小節(jié),作者將講解第二種辦法。  市面上,有很多自動(dòng)化測試工具內(nèi)置這樣一個(gè)探測器,因?yàn)橹挥刑綔y到了對象控件的內(nèi)部屬性,才能繼續(xù)將自動(dòng)化測試做下去。如果沒有內(nèi)置的探測器,也一定要去尋找一個(gè)獨(dú)立的外部探測器來配合使用。QTP直接提供了一個(gè)重量級的探測儀,它就是Object Spy,它一定會(huì)是你自動(dòng)化測試旅途的“貼身伴侶”,讓我們來認(rèn)識(shí)一下這位新朋友,有3種方式可以調(diào)用它?! 。?)QTP上方菜單欄→Tools→Object Spy?! 。?)QTP默認(rèn)顯示工具欄中點(diǎn)擊Object Spy的圖標(biāo),如圖1101所示(推薦)。圖1101 ?。?)打開對象庫,在對象庫中找到“偵探Jack”,然后點(diǎn)擊它(推薦)?! ?種方式中有兩種是推薦使用方法。如果沒有打開對象庫,那就直接點(diǎn)擊工具欄中的圖標(biāo),如果對象庫已被打開,那么就可以點(diǎn)擊里面的圖標(biāo)(前面的內(nèi)容中已提到過,點(diǎn)擊對象庫中的Spy圖標(biāo)一樣能調(diào)用它),做到靈活應(yīng)用!細(xì)心的讀者會(huì)問,為什么不支持快捷鍵?這個(gè)問題請咨詢HP,至少目前暫時(shí)還沒有快捷鍵。那么接下來,有請我們的“偵探Jack”,如圖1102所示。圖1102  如圖1102所示,已經(jīng)見到了“Jack先生”的廬山真面目,那么接下來作者用它探測一個(gè)對象,然后對這個(gè)界面做一些說明(如何探測先不講,后面就講。另外,本說明只針對新人,已經(jīng)會(huì)的朋友請?bào)w諒下作者要照顧到每一位讀者,暫時(shí)跳過即可),被探測的對象是百度的搜索框。那么就讓新人和作者一起來看界面說明圖,如圖1103所示。圖1103界面詳細(xì)說明?! ?.探測手指  點(diǎn)擊該手指后會(huì)出現(xiàn)一個(gè)白色的手指,就和添加對象一樣,作用就是選擇需要探測的對象,在下一個(gè)小節(jié)中,作者會(huì)擴(kuò)充一個(gè)知識(shí)點(diǎn)“捕獲對象時(shí)的模式切換”?! ?.Keep Object Spy on top while spying  探測時(shí)保持探測器置頂,這個(gè)就看個(gè)人習(xí)慣了,默認(rèn)是勾選上的,也就是總是保持置頂?shù)?,如果不?xí)慣這種方式,取消勾選就可以了,在這里還是推薦大家采用默認(rèn)的形式。  3.顯示對象的區(qū)域  在使用探測手指后,這塊顯示區(qū)域會(huì)顯示Object Spy探測到的對象及其父對象、祖父對象。默認(rèn)是停格在被探測的對象上,如果需要查看它的父對象或祖父對象,只需點(diǎn)擊即可。在這里能看到“百度搜索框”被探測到了,它就是“WebEdit:wd”。  4.Native Properties和Identification Properties的切換  這是一個(gè)重點(diǎn),也是學(xué)習(xí)Spy探測器最難的地方!這里所牽涉的內(nèi)容不只包括本小節(jié),還包括本小節(jié)以外的另外幾個(gè)小節(jié)。在這里先大致介紹一下,以后還會(huì)多次碰到。首先,作者在這里做一下翻譯工作,Native Properties?=?本地的屬性,Identification Properties?=?鑒別屬性,這兩個(gè)名詞一定看不懂。讓作者來替廣大新人讀者解惑,本地屬性就把它看作一個(gè)對象控件的自身接口的屬性,而鑒別屬性它是QTP默認(rèn)為該對象控件封裝的屬性。本地的屬性相當(dāng)多,是封裝屬性的數(shù)倍!下面圖1104所示是切換到封裝屬性的情況,顯示的都是“百度搜索框”的封裝屬性:圖1104  圖1106就是“百度搜索框”的一些封裝的屬性。什么叫封裝?這個(gè)在這里就不多解釋了,因?yàn)楹捅緯鵁o關(guān),不過在這里可以告訴你,QTP,把“百度搜索框”封裝成一個(gè)?WebEdit?控件,依據(jù)在哪?因?yàn)?Class Name?=?WebEdit(位置在圖1104中已標(biāo)注)。Class Name就是“百度搜索框”眾多封裝屬性中的一個(gè),讀者可以重新選擇到本地屬性里去看看有沒有Class Name,答案是沒有!至于這些封裝屬性是怎么來的呢?答案是?QTP?自己給封裝好的。所以,關(guān)于這些封裝屬性的秘密,在下一章節(jié)中會(huì)講到,敬請期待吧!  言歸正傳。兩種屬性都是在實(shí)際的運(yùn)用中經(jīng)常會(huì)被用到的,調(diào)用不同的屬性方法的形式也是不同的,兩個(gè)概念上的介紹基本就到這里了?! 『笳呤荌dentification Properties,以后會(huì)牽涉到對象庫編程中的兩個(gè)重大概念Test Objects(測試對象,TO)和Runtime Objects(運(yùn)行時(shí)對象,RO),在為TO或RO進(jìn)行編碼的時(shí)候使用的就是QTP自己封裝的這些對象屬性。關(guān)于前者,也就是Native Properties有其獨(dú)特的調(diào)用方法。  5.Properties和Operations的切換  這里以切換選項(xiàng)卡的形式來查看對象的屬性或查看關(guān)于該對象控件的操作的一些方法,默認(rèn)選項(xiàng)卡是查看對象屬性的?! ?.對象屬性amp。對象操作的詳細(xì)表  本條和第5條是
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1