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

正文內容

精通qtp——自動化測試技術領航(編輯修改稿)

2025-04-22 03:14 本頁面
 

【文章內容簡介】 1Testing軟件測試網中國軟件測試人的精神家園)._Page(51Testing軟件測試網中國軟件測試人的精神家園)._Image(51Testing軟件測試網).Click  注:以上腳本來源于51Testing軟件測試網首頁,如圖158所示。圖158 對于“51Testing軟件測試網”這個Image對象,QTP默認采用alt、html tag、image type屬性來識別對象(見圖159)。圖159  然而,當開發(fā)好上述腳本后,假設開發(fā)人員又在同一個頁面添加了名叫“51Testing軟件測試網老網站”的Image對象(現(xiàn)在用作登錄老網站),同時修改了原來的“51Testing軟件測試網”對象的alt屬性,改成了“51Testing軟件測試網全新網站”。這樣當針對這個新版本的頁面重新回放上述腳本時,QTP就不能基于alt + html tag + image type的屬性組合來識別原先的“51Testing軟件測試網”(現(xiàn)在的“51Testing軟件測試網全新網站”)這個Image對象了,因為alt屬性已經改了。但是QTP仍然能夠正確地識別出這個對象,為什么呢?就是因為這個時候它開啟并使用了智能識別功能(Smart Identifation)?! ∠旅娴倪^程描述了QTP應用智能識別來確認原“51Testing軟件測試網”這個Image對象的步驟。 ?。?)根據(jù)Image對象默認設置的智能識別定義(默認智能識別屬性是html tag),QTP首先從頁面中找出所有html tag屬性=IMG的對象(圖155中可以看到html tag的屬性就是IMG),前面也講過了,在Base Filter Properties這個左側區(qū)域中,定義的屬性將進行第一輪篩選和過濾。 ?。?)如果第一輪匹配不到,那么就會在右側的Optioanl Filter Properties(備選屬性區(qū)域)中根據(jù)定義的屬性順序地進行篩選和過濾,請看以下步驟?! 、?QTP會首先檢查對象智能識別備選屬性的alt屬性(默認在備選屬性里alt在第一位,但是發(fā)現(xiàn)沒有等于“51Testing軟件測試網”的,因為已經被開發(fā)人員改為“51Testing軟件測試網全新網站”了。因此,QTP會忽略這個屬性,繼續(xù)應用下一個備選屬性?! 、?QTP接著檢查對象的image type屬性(默認在備選屬性里第二位),把image type屬性不等于“Image Link”這個值的對象過濾出去(圖159中可以看到image type的值)。 ?、?然后QTP檢查對象的html id屬性(默認在備選屬性里第三位),發(fā)現(xiàn)所有其他的對象的這個屬性的值都是“l(fā)ogo”(見圖160中對應位置)。圖160  ④ 緊接著QTP檢查對象的name屬性(默認在備選屬性里第四位),發(fā)現(xiàn)有兩個對象“51Testing軟件測試網老網站”和“51Testing軟件測試網全新網站”的name屬性都等于“Image”(見圖160中對應位置),因此QTP把其他的對象又一次過濾掉,只剩下這兩個對象?! 、?于是QTP再檢查剩下兩個對象的file name屬性,發(fā)現(xiàn)只有一個是等于“”(見圖160中對應位置),至此,QTP結束智能識別過程,推斷出這個對象是它要找的“51Testing軟件測試網”對象,并且點擊它。  當然了,如果在上一步仍然不能定位到對象,則還會依此類推繼續(xù)下去。圖160是一個為已經添加至對象庫的對象添加必要的識別屬性的窗口。需要注意的是,在這個窗口里屬性的位置顯示是沒有次序可言的,或者和Object Identification里智能識別屬性設置窗口中是不一一對應的,關于如何打開這個窗口和其他對象庫功能的操作見下一個小章節(jié)?!∫砸粋€實例囊括對象庫的原理機制與操作流程并揭開整個篇章  已經初步了解了測試對象模型、掌握了Object Identification、QTP智能識別技術,以及對象庫的一些原理和機制,內容太多可能有的讀者一下子難以消化,在這里再提示一下,演示一個簡單的對象庫編程的操作流程的實例來啟發(fā)讀者,也為以后更深入地學習打基礎。請先看演示需求如表13所示?! ”?3 演示需求表  添加對象之前,如圖161所示。圖161  添加完對象后,如圖162所示。圖162  腳本顯示代碼如下:Browser(百度一下,你就知道).Page(百度一下,你就知道)._WebEdit(wd).SetQTP自動化測試技術領航  結果:  腳本運行回放完畢后,百度搜索框自動輸入了“QTP自動化測試技術領航”,如圖163所示。圖163  這樣一個非常簡單的實例演示結束了,接著繼續(xù)更深入地探索QTP的精華對象庫以及對象庫編程。 對象庫基本操作  在上一節(jié)中,對對象和對象庫有了整體的認知,包括對象庫編程在QTP中的價值、對象模型的含義、對象庫的一些作用等。在上一節(jié)中有很多關于對象庫的圖例,這些都是作者事先設計好的,但是有些新人讀者并不知道這些圖例的效果是怎么設計出來的,因為本書還沒介紹過對象庫功能的操作,那么在本小節(jié)中,開始講一下對象庫功能的基本應用與操作,特別要申明下,本小節(jié)介紹的對象庫指的是QTP對象庫的功能意義上的操作,只是一些很單純的操作方面的東西,就像如何將對象添加到對象庫等,而不再像上一節(jié)那樣指的是“對象庫整體”?! ∈紫龋覀兊弥缹ο髱烊绾未蜷_,默認有兩種方式。  ● QTP上方菜單欄→Resources→Object Repository。  ● 快捷鍵Ctrl+R(推薦)?! ∩鲜霾襟E操作后,打開的界面如圖164所示。圖164  作者已經在圖164中以數(shù)字標識了對象庫功能中必須要掌握的操作,接下來將根據(jù)數(shù)字的順序逐個介紹這些知識點(部分知識點配合實例)。  1.TestObjects  我們先來了解對象存放的區(qū)域,從QTP ,對象存放區(qū)域被分為兩塊,HP的意圖是將測試對象和檢查點對象、輸出對象區(qū)分開來。Test Objects顧名思義是存放著測試對象(圖例效果以及關于如何添加測試對象在第6點,這里暫且略過)?! ?.Checkpoint and Output Objects  檢查點對象以及輸出對象。,但是感覺這塊區(qū)域單獨劃分出來實用性不大,而且經過很多實踐證明,Checkpoint and Output Objects在做實際項目時很少會被用到,作者仍然羅列出來的目的是把一些“現(xiàn)狀”告知讀者,最終是否使用由讀者決定?! ?.對象庫中的Action切換  首先要注意,這里的Action切換只是對象庫中的切換,別和對象庫外面的Action切換搞混了。在這里,可以通過它查看不同Action下的對象,很好的一個功能,可以非常直觀地為對象歸類,用戶在使用時也可以快速查閱不同Action下所屬的對象。同時,當需要添加對象時要注意切換到不同的Action再添加對象,比如當前腳本下有Action1和Action2,如果我們需要在Action2中添加其專屬的對象,那就需要把Action切換到Action2后才能添加對象,只有這樣對象才會被添加到Action2中。如果僅僅只是建立了Action2,但是添加對象的時候沒有切換到Action2(即仍然停留在Action1),此時添加的對象自然是在為Action1添加,很容易忽略這個小細節(jié),請務必注意?! 〈送膺€要注意一點,假設腳本調用了外部Action,那么對象庫中Action一樣可以切換到那個外部的Action,但是只有查看對象的權限,而沒有添加、刪除、更新、編輯、亮燈等權限(灰顯),大家可以看一下效果如圖165所示。圖165  4.對象的剪切、復制、粘貼與刪除  這些功能是軟件必備的功能。這里作者拿剪切和刪除為例告知讀者一些該注意的地方(剪切和復制大同小異,無須重復舉例)。先看一下圖166所示。圖166  如圖166所示,現(xiàn)在如果需要將51Testing的搜索框對象剪切到百度的Page頁面下,非常簡單,只需要點擊對象,然后使用圖標或者快捷鍵Ctrl+X,再選中百度的Page進行粘貼即可(這個效果就不附帶例圖了,大家都能明白)?!∵@里作者要提及的是如果剪切(或復制)的是父對象,那么粘貼后,其子對象會被一起剪切(或復制)過去,比如現(xiàn)在把百度的Page對象剪切到51Testing的Browser對象下,效果就會如圖167所示一樣,“百度一下,你就知道”這個Page對象以及其下的“wd”子對象被一起帶到51Testing的Browser對象下,并且與51Testing下的Page對象平行。圖167  刪除操作也一樣,如果刪除父對象,則所有子對象一并被刪除,現(xiàn)在刪除51Testing的Browser對象試一試,刪除后效果如圖168所示。圖168  如圖168所示,51Testing的Browser對象一旦被刪除,其所有內容一并被刪除?! ?.對象庫中對象的查找與替換  QTP的對象庫為用戶提供了非常快速且方便的GPRS導航系統(tǒng),它就是Find amp。 Replace功能,快捷鍵Crtl+F。認識一下這個功能的界面,如圖169所示。圖169  打開這個功能后就會出現(xiàn)圖169中的界面效果,上半部分是查找功能,下半部分是屬性替換功能,在這里就可以將對象的屬性值直接替換掉。  6.添加對象  這個功能是羅列的11條里最重要的,沒有添加對象也就沒有后續(xù)功能了。這里需要給讀者解釋一下,作者本該把最重要的放第1條,但是為了文章的連貫性(如對象庫中圖標的排列順序那樣,這個按鈕也沒有排在第1個),所有內容順序也盡可能與其圖標位置相呼應。下面開始添加一個對象。  步驟如下?! 〉谝徊剑c擊Add Object to Local按鈕,在點擊后會出現(xiàn)一個白色手指?! 〉诙?,拖動白色手指至待添加的對象上,點擊鼠標左鍵。在這里仍然以百度搜索框為例,來看一下點擊后的效果圖如圖170所示。圖170 在圖170中可以看到,在選中并點擊對象后,還不算是添加對象完畢,QTP此時還會彈出一個對象選擇框,用來做最后的選擇。即從圖170中可以看到,雖然只選中了百度搜索框,但同時這個名為“wd”的百度搜索框的兩個父對象也會一起顯示,如果此時假設選中Page對象,則最后添加進去的對象是這個Page,外加它的父對象Browser。所以,到了這一步只能說快接近完成一個對象添加過程,但是沒有真正的結束。最后補充一個概念:當子對象被添加時,其父對象會一起被添加至對象庫,而當父對象被添加時,如還有祖父對象,則父對象連同祖父對象一起被添加至對象庫,但其子對象不會被添加,新手務必牢記?! 〉谌?,最終確認要添加的對象,確認無誤后點擊OK按鈕?! 】偨Y:在完成了以上3個步驟后,對象就添加到對象庫了。實際效果如圖171所示。圖171  另外,打個比方,現(xiàn)在需要添加百度首頁上的另一個Link對象“貼吧”,它們屬于同一個頁面的,在添加完后,這個對象就會直接隸屬于它的父對象下,如圖172所示。圖172  小提示:當添加對象時,一旦白色手指出現(xiàn)以后就無法再繼續(xù)頁面上的任何操作了,如點擊、切換網頁、拖動滾軸等,因為只要有任何“左擊”的動作,它就會幫你添加對象。假設如果在一個頁面上添加對象后,需要切換到另一個Web頁面添加另一個對象怎么辦?一般的辦法就是添加好一個對象后,暫時先不激活白色手指,等網頁切換了以后再回到QTP界面切換手指,但這樣會繁瑣。添加一個、兩個對象還好,如果要添加很多對象呢?會一直在頁面和QTP界面中來回切換。Mercury公司當然預料到了這個情況,他們提供了一個捕捉模式切換功能。在這里作者先不講這個功能,也只是做個預告。作者會在介紹到本章節(jié)的Object Spy這個重要的知識點時,分享這個實用又貼心的功能,添加對象和Object Spy是共享這一功能的,因為它們都需要捕捉,所以都具備捕捉模式?! ∵@個功能點已經講完了,“錄制”,“理論性的社會實際問題”實例嗎,作者在末尾段說過要做一個實驗來證明以手工添加對象的方式效率遠遠勝于錄制添加的方式。如果已經記不清了,請看下面這段加了引號的原文:  “另外,在添加對象方面上,錄制也顯得差強人意,因為靠錄制的方式添加對象,表面上來看十分快速,但是通過這種方式添加到對象庫中的對象,它們的命名都是QTP自動命名的,相當?shù)膩y,還是需要一個個去改,而且很多對象還是不需要的,QTP也給自動添加進來了,這樣弄下來,效率遠不如一開始就老老實實一個個添加對象,并根據(jù)規(guī)范為它們逐一命名再進行編程呢?!薄 ‖F(xiàn)在應該回憶起來了吧,作者將借用51Testing論壇的注冊頁面來做個小小的實驗。先來看一下真實環(huán)境的界面,首先是進入51Testing軟件測試網的首頁,并在頁面的上方找到“注冊”按鈕,點擊進去,如圖173所示。圖173  在進入了圖173中的注冊頁面后,實驗就要開始了,我們的業(yè)務流程是完成一次注冊,所需要使用到的控件作者也已經排列出來了。對于添加對象的方法“是否效率”,暫且先不做對比。在此就先用錄制的方式添加這些對象(所謂錄制添加的方式就是指在錄制這些業(yè)務操作的同時,對象會以QTP默認的設定自動添加到對象庫),在完成了操作以后,看以下3張相當直觀的例圖,界面操作圖(174)、腳本代碼圖(175)、對象庫圖(176)。簡單插一句:界面操作圖沒什么可說的,是作者剛才在做的事情。  作者有話說:腳本代碼圖1是錄制完畢后,QTP生成的腳本,讀者看看這個腳本是否直觀?是否簡潔?是否優(yōu)美?作者就此詢問了兩位QTP初學者,他倆都給出了自己的觀點?!  ?甲說:“QTP寫的腳本簡直太完美了!”  ● 乙說:“感覺不是很直觀、精簡,應該還可以優(yōu)化許多!”  作者在這里只會支持“路乙”為什么?請大家看下腳本代碼圖1(圖175)中第114行和第117行代碼,這4行代碼是對同一個對象控件的操作,讀者無論之前是親自同步操作的或者是看了作者的操作的,請大家講一下,這個對象控件是剛才操作的哪個對象?相信大部分讀者
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1