QTP_10.0教_程_第1頁
QTP_10.0教_程_第2頁
QTP_10.0教_程_第3頁
QTP_10.0教_程_第4頁
QTP_10.0教_程_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1.1 自動化測試的好處: 快速(Fast) 可靠(Reliable) 可重復(fù)(Repeatable) 可程序化(Programmable) 廣泛的(Comprehensive) 錄制腳本前的準(zhǔn)備 錄制測試腳本 加強(qiáng)測試腳本 對測試腳本除錯(debug) 在新版應(yīng)用程序執(zhí)行測試腳本 檢查測試結(jié)果 回報(bào)缺陷 取消IE的自動完成設(shè)定 關(guān)閉所有瀏覽器窗口 加載Web add-in 檢查Active Screen錄制級別 RecordingRecord and Run Settings Web tab中選擇第二項(xiàng) (演示一:錄制Mercury范例網(wǎng)站腳本) 2.1建立檢查點(diǎn) 2.2參數(shù)化腳本 2.3建

2、立輸出值 檢查點(diǎn):是將指定屬性的當(dāng)前值與該屬性的期望值相比較的驗(yàn)證點(diǎn)。 檢查點(diǎn)類型: 標(biāo)準(zhǔn)檢查點(diǎn) 圖片檢查點(diǎn) 表格檢查點(diǎn) 網(wǎng)頁檢查點(diǎn)文字/文字區(qū)域檢查點(diǎn)圖像檢查點(diǎn)數(shù)據(jù)庫檢查點(diǎn)Accessibility檢查點(diǎn)XML檢查點(diǎn) 參數(shù)化:通過將固定值替換為參數(shù),擴(kuò)展基本測試或組件的范圍 參數(shù)化類型: 測試或操作組件參數(shù) 數(shù)據(jù)表參數(shù) 環(huán)境變量參數(shù) 隨機(jī)數(shù)字參數(shù) 輸出值:檢索測試或組件中的值,并將這些值作為輸出值存儲。 輸出值類別: 標(biāo)準(zhǔn)輸出值 文本和文本區(qū)輸出值 數(shù)據(jù)庫輸出值 XML輸出值 配置值:將值定義為常量或參數(shù)來配置屬性和其他項(xiàng)目的值。也可以在值中使用正則表達(dá)式,以提高測試和組件的靈活性與適應(yīng)性。

3、 虛擬對象:指示QTP將任何區(qū)域識別成一個對象。 注意事項(xiàng): 錄制和運(yùn)行測試或組件時,網(wǎng)頁或應(yīng)用程序窗口的大小和位置必須和定義虛擬對象時的大小和位置相同。 不能在虛擬對象上插入任何檢查點(diǎn),也不能使用“對象探測器”來查看其屬性。 注意父類層次的選擇。 如何錄制時禁用虛擬對象。l QTP對象識別機(jī)制對象識別機(jī)制l 關(guān)鍵字驅(qū)動測試關(guān)鍵字驅(qū)動測試l 描述性編程描述性編程 關(guān)于配置對象標(biāo)識: 強(qiáng)制屬性(Mandatory Properties): QTP對于特定測試對象類始終要記住的那些屬性。 輔助屬性(Assistive Properties): 只有在以下情況下QTP要記住的那些屬性,即QTP針對應(yīng)

4、用程序中的特定對象記住的強(qiáng)制屬性不足以創(chuàng)建唯一描述。如果為一個對象類定義了幾個輔助屬性,那么QTP每次記住一個輔助屬性,并在其為該對象創(chuàng)建了唯一屬性后立即停止。注意:不能將同一屬性既放注意:不能將同一屬性既放在強(qiáng)制屬性中,又放在輔助在強(qiáng)制屬性中,又放在輔助屬性中。屬性中。如何配置屬性如何配置屬性提示:可以使用提示:可以使用attribute/標(biāo)標(biāo)記向記向Web對象添加屬性名。對象添加屬性名。 序號標(biāo)識符為對象指定一個數(shù)字值 該數(shù)字批示該對象相對于其他具有相同描述的對象(對于強(qiáng)制屬性列表和輔助屬性列表中指定的所有屬性都具有相同描述的對象)的順序。 在強(qiáng)制和輔助屬性不足以創(chuàng)建唯一描述時,QTP可以

5、通過該順序創(chuàng)建唯一的描述。 索引-批示該對象在應(yīng)用程序代碼中相對于其他描述都相同的對象的顯示順序。假如,頁面中有下列對象: 名為Apple的圖像 名為UserName的圖像 名為UserName的WebEdit對象 名為Password的對象 名為Password的WebEdit對象WebEdit(“Name:=UserName”,”Index:=0”)WebElement(“Name:=UserName”,”Index:=0”) 注意:Index屬性值是特定于對象的。 位置-指示該對象在父窗口、框架或?qū)υ捒蛑邢鄬τ谄渌鼘ο蟮娘@示順序。 CreationTime-(僅限于瀏覽器對象)該值指示瀏

6、覽器打開的順序-相對于其它描述都相同的其他打開的瀏覽器。 問題: 1:順序打開幾個瀏覽器,并關(guān)掉其中幾個, CreationTime的值如何變化? 2:如果在CreationTime=6的瀏覽器上回放步驟,但具 有該CreationTime值的瀏覽器沒有打開,那么該步驟會不會由于找不到CreationTime=6的瀏覽器而失敗?1:僅為具有定義的智能標(biāo)識配置的測試對象類啟用智能標(biāo)識機(jī)制。2:如果不錄制智能標(biāo)識屬性,則不能在以后為某個對象啟用智能標(biāo)識機(jī)制。3:恢復(fù)所有測試對象的默認(rèn)對象標(biāo)識設(shè)置。4:為對象標(biāo)識設(shè)置生成自動腳本?;竞Y選器屬性可選篩選器屬性 智能標(biāo)識的進(jìn)程: 1:QTP“忘記”錄制

7、的測試對象描述,創(chuàng)建一個新的候選對象列表,該列表包含與基本篩選器屬性列表中定義的所有屬性匹配的對象。2:在該對象列表中,QTP篩選任何與“可選篩選器 屬性”列表中列出的第一個屬性不匹配的對象。其余對象成為新的候選對象列表。3:QTP計(jì)算新的候選對象列表: 如果新的候選對象表仍然有多個對象,QTP將使用新的(列小的候選對象列表中的下一個可選篩選器屬性重復(fù)步驟2) 如果新的候選對象為空,QTP將忽略該可選篩選器屬性,返回以前的候選者列表,對列表中的下一個可可選篩選器屬性重復(fù)步驟2。 如果候選對象列表中只包含一個對象,那么QTP認(rèn)為它已標(biāo)識該對象并執(zhí)行包含該對象的語句。4:QTP繼續(xù)在步驟2和3中描

8、述的進(jìn)程,直到它標(biāo)識一個對象,或者沒有可選篩選器屬性可用。 Brower(“MercuryTours”).Page(“Mercury Tours”).Image(“Login”).Click回放時頁面添加了一個回放時頁面添加了一個與與Login有相同屬性的有相同屬性的ImageQTP忘記所有屬性并開啟忘記所有屬性并開啟Smart Identification找出找出html tag=“IMG”的對象列表的對象列表找出找出alt=“Mercury”的對象列表的對象列表如果如果alt=“Mercury”有多個或不存在有多個或不存在,則向下尋找則向下尋找,直至篩選只剩一個對象直至篩選只剩一個對象智能

9、標(biāo)識進(jìn)程完成后,如果智能標(biāo)識進(jìn)程完成后,如果QTP仍然不能標(biāo)識對象,則仍然不能標(biāo)識對象,則QTP將嘗試使用錄制的描述加上順序標(biāo)識符來標(biāo)識對象。將嘗試使用錄制的描述加上順序標(biāo)識符來標(biāo)識對象。 將QTP無法識別的類或自定義類的對象映射到標(biāo)準(zhǔn)Windows類。 注意:無法識別的對象應(yīng)僅映射到帶有兼容行為的標(biāo)準(zhǔn)Windows類。例如,不要將行為與按鈕類似的對象映射到編輯類。在關(guān)鍵字視圖和專家視圖中分別顯示為:Browser(iTreasuryPro資金管理平臺).Page(iTreasuryPro資金管理平臺).WebButton(提交).Click 關(guān)鍵字驅(qū)動或者稱為關(guān)鍵詞驅(qū)動(KeywordDri

10、ven),是為了解決通過錄制的方法來產(chǎn)生腳本的問題。就是先把所有需要的Web對象都添加到對象庫中,然后在關(guān)鍵字視圖中手動添加測試步驟,這樣就是一個設(shè)計(jì)腳本的工作,可視化程度非常高,非常直觀。 這中方法的缺點(diǎn)有:如果不手動添加腳本,仍然只能實(shí)現(xiàn)簡單的測試任務(wù)。通常情況下,當(dāng)在錄制一個操作時,QTP會將被操作對象加入到對象庫里(Object Repository)。一旦對象存在于對象庫里,我們就可以在專家視圖里通過添加相關(guān)的對象方法來對該對象進(jìn)行操作。我們可以通過引用層次型對象庫里的對象描述(Object Description)來添加相應(yīng)的方法。因?yàn)镼TP對象庫中的每個對象都具有唯一名稱,所以在

11、引用時對象名是必須需要指定的。然后在測試運(yùn)行期間,QTP在對象庫中根據(jù)這個對象的名稱和父對象來查找對象,并使用為這個測試對象存儲的測試對象描述,在網(wǎng)站或應(yīng)用程序中標(biāo)識該對象。描述性編程,簡單的來說,就是在專家視圖中,手動編寫腳本,對某個對象執(zhí)行某種操作。譬如,在用戶名的輸入框中輸入“123”,用戶名的輸入框的在該頁面的標(biāo)識是loginno,其類型為WebEdit,對此輸入框執(zhí)行的是set一個值“123”,所以生成的腳本如下: WebEdit(“l(fā)oginno”).set “123”如果如果Web對象沒有被添加到對象庫中,或者通過該對象沒有被添加到對象庫中,或者通過該Web對象的標(biāo)識對象的標(biāo)識Q

12、TP無法識別該對象(這種現(xiàn)象在識別無法識別該對象(這種現(xiàn)象在識別Browser中經(jīng)常遇到),就中經(jīng)常遇到),就可以通過直接在腳本中輸入編程描述的方式來解決??梢酝ㄟ^直接在腳本中輸入編程描述的方式來解決。常規(guī)語法為:TestObject(PropertyName1:=PropertyValue1, . , PropertyNameX:=PropertyValueX TestObject - 測試對象的類。PropertyName:=PropertyValue - 測試對象的屬性及其值。各個property:=value 對之間應(yīng)用逗號和引號分開。 例如,在頁面上點(diǎn)擊一個客戶編號的超鏈接,形成的腳

13、本如下:Dim bs_Title,pageTitlebs_Title=”XXX- Microsoft Internet Explorer”pageTitle=”YYY”Browser(“Title:=”&bs_Title).Page(“title:=”&pageTitle).Link(“text:=”&DataTable(“客戶編號”,dtLocalSheet).Click此外,還可以使用description對象。使用 Description 對象可以返回包含一組 Property 對象的 Properties 集合對象。Property 對象由屬性名和值組成。然后,可以在語句中指定用返回的 Properties 集合代替對象名。(每個 property 對象都包含一個屬性名和值)。要創(chuàng)建 Properties 集合,可以使用以下語法輸入 Description.Create 語句:Set MyDescription = Description.Create() 例如前面的例子,使用description對象就變成:Set bs_Title= Description.Create()Set pageTitle= Description.Create()b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論