QTP一些問題的解決方法_第1頁
QTP一些問題的解決方法_第2頁
QTP一些問題的解決方法_第3頁
QTP一些問題的解決方法_第4頁
QTP一些問題的解決方法_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

第第頁QTP一些問題的解決方法QTP一些問題的解決方法

發(fā)表于:2023-05-31來源:未知:娃娃點(diǎn)擊數(shù):標(biāo)簽:

以下是我經(jīng)常遇到的問題:一、無法識別控件。二、錯誤回放過程未知彈出窗口。三、加載.net插件后和TD的關(guān)聯(lián)問題。四、動態(tài)加載元素的識別問題。五、調(diào)用外部dll的問題。六、隨機(jī)驗(yàn)證碼的問題。問題一,解決辦法有三種:1、更改QTP自身對某控件的識別

以下是我經(jīng)常遇到的問題:

一、無法識別控件。

二、錯誤回放過程未知彈出窗口。

三、加載.net插件后和tdirector/"target="_blank">testdirector/"target="_blank">TD的關(guān)聯(lián)問題。

四、動態(tài)加載元素的識別問題。

五、調(diào)用外部dll的問題。

六、隨機(jī)驗(yàn)證碼的問題。

問題一,解決辦法有三種:

1、更改QTP自身對某控件的識別方式,在toolsObjectIdentification中。在這里列出了所有QTP能識別的控件,以及控件的識別方式。你可以給他添加X、Y坐標(biāo)進(jìn)行識別。或更明顯的,列表中的信息,不按名稱識別,而是按ID識別。這個修改可以解決一些問題,具體的趕緊動手試試吧

2、使用虛擬物件,來定義一個控件,在toolsVirtualObject中。在這里可以自定義一個控件。例如在ASP的程序中,程序出錯,在客戶端的表現(xiàn)形式大部分是一樣的,你可以把整個錯誤頁面當(dāng)成一個控件來識別(感覺不錯)。如果加一個判斷,出錯后你想做什么就由你自己定了。

3、使用低級錄制或鼠標(biāo)錄制。用TestLowLevelRecording/AnlogRecording吧,用它錄制就不需要什么設(shè)置了,他會記錄你的程序控件相對屏幕的位置。用LowLevelRecording還有代碼可改,用AnlogRecording動作就被封裝了(維護(hù)性極差)。兩者因?qū)嶋H環(huán)境更取其長吧

問題二的解決過程:

關(guān)于彈出提示的問題,我當(dāng)時需要情況是這樣的。一個信息錄入系統(tǒng),由于數(shù)據(jù)量很大,查詢需要一段時間。QTP回放時動作比較快,點(diǎn)了保存,程序還沒反應(yīng)過來它就進(jìn)行了下一步操作。這時的操作就和錄制時不一樣了,程序給出一個提示,但這個提示是錄制過程沒有的。彈出框是一般都是POP形勢(至上)的,導(dǎo)致QTP無法繼續(xù)回放,結(jié)果就是回放失敗。

解決辦法有兩個:

1、進(jìn)行判斷,當(dāng)出現(xiàn)這個提示時,點(diǎn)是/否/取消按鈕。

2、通過ToolsRecorveryScenarioManager設(shè)置默認(rèn)操作。

我最初就是用的第一種方法。寫一個函數(shù)判斷是否出現(xiàn)這個提示,如果出現(xiàn)就點(diǎn)"取消'然后wait(2)。每個可能出現(xiàn)彈出框的動作后都調(diào)用一次這個函數(shù)。雖然可以解決這個問題,但回放的效率就低了,而且需要你預(yù)知提示框的信息。

當(dāng)我知道了第二種方法,顯然更科學(xué)^_^。它可以對所有預(yù)知甚至不知的提示進(jìn)行指定的操作。

實(shí)際上,當(dāng)程序出現(xiàn)了未預(yù)知的提示時,可能就是程序的(BUG),所以使用上述辦法解決工具問題時,也要考慮是否會掩蓋程序的(缺陷)。

問題三的解決辦法:

用好QTP后,會不自覺的和TD關(guān)聯(lián)起來。但從TD直接啟動QTP時,程序只會加載QTP自帶的插件,如果你安裝了其它插件(如.net、java、etc.),默認(rèn)是不加載的。這會導(dǎo)致上傳的腳本無法正確執(zhí)行。解決辦法很簡單,去TestSetting里進(jìn)行Modify吧。從本地打開的腳本,這里不能進(jìn)行Modify的。所以辦法很簡單,但如果不知道的話就很難了。當(dāng)初為這個問題我可是廢了八牛三虎之力呢

問題四的解決過程:

當(dāng)我開始改代碼時,定義一個動作,然后可以生成N個動作。假設(shè)N個動作產(chǎn)生了N個結(jié)果,你要對這結(jié)果進(jìn)行處理時,你會發(fā)現(xiàn)這N個結(jié)果都不能被識別:

網(wǎng)頁上有個表格,是往數(shù)據(jù)庫里加數(shù)據(jù)的。

兩個表格顯示在同一個頁面上,左邊為父表,右邊為子表。

點(diǎn)擊左表,右表顯示其子項(xiàng)目。

結(jié)構(gòu)如下:

A

├─1

├─2

├─3

└─4

B

├─1

├─2

├─3

└─4

思想很清晰:

添加一個父項(xiàng)A、選中此父項(xiàng)A、對其添加子項(xiàng)1、2、3、4

添加一個父項(xiàng)B、選中此父項(xiàng)B、對其添加子項(xiàng)1、2、3、4

代碼也很簡單:

dimM定義父項(xiàng)數(shù)

dimN定義每個父項(xiàng)包含的子項(xiàng)數(shù)

Fori=1toM

Call添加父項(xiàng)(i)

選中父項(xiàng)(i)問題就出在這里

Forj=1tobwflstep1

Call添加子項(xiàng)(j)

Next

Next

現(xiàn)在問題出來了,思路應(yīng)該沒有問題(除非這方法真的行不通),循環(huán)也是順著思想來的。

問題是,無法實(shí)現(xiàn)選中的父項(xiàng)(最多識別到一個)。

由于此循環(huán)可以在錄制過程進(jìn)行,如果不改變變量名稱,循環(huán)可且只可以成功運(yùn)行一次。問題是這個名稱都是從DataTable里獲取的。

因?yàn)?,在運(yùn)行過程中生成的項(xiàng)目沒有加到對象庫中,無法被識別。

這個問題最后是從思想上解決的。答案是我做的是功能測試,為什么不先加父項(xiàng),檢查父項(xiàng)的功能是否正常,然后再去測子項(xiàng)的功能。不去改變名字,因?yàn)槟菦]有必要。核心答案"功能(測試)、(測試)功能'。即對測試工具首先需要有正確的認(rèn)識。

當(dāng)然,這個問題可以用代碼去實(shí)現(xiàn),但那需要有一定的(編程)功底且耗時,可維護(hù)性不一定好。有需要的朋友可以去試一下,然后把你的經(jīng)驗(yàn)也共享一下。*^_^*

問題五,是對QTP很大的一個擴(kuò)充。

對于QTP調(diào)用外部DLL的功能,由于我的編程功底不夠,沒有相關(guān)人士配合我,我只能望之垂涎了!

如果能調(diào)用外部DLL的話,QTP的功能就可以變得很強(qiáng)大。自己寫的程序,自己編一些過程用QTP進(jìn)行測試,我想"后果很嚴(yán)重'。真想有一次給我嘗試的機(jī)會

問題六,解決辦法有4個:

1、測試的時候,讓程序員把這塊限制去掉,免去驗(yàn)證這關(guān)。

2、讓程序員提供一個萬能驗(yàn)證碼,測試可以繞過這一關(guān)。

3、請程序員提供識別的方法,從獲取的圖片讀出驗(yàn)證數(shù)據(jù),再傳給QTP。

4、進(jìn)行位圖檢查,將驗(yàn)證碼分段進(jìn)行圖像驗(yàn)證。

實(shí)際上,驗(yàn)證碼的目的就是防止用程序灌水或機(jī)器錄入信息。所以有點(diǎn)為難我們測試了。

方法1,如果程序已在

溫馨提示

  • 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

提交評論