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

下載本文檔

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

文檔簡介

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

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

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

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

一、無法識別控件。

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

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

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

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

六、隨機驗證碼的問題。

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

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

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

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

問題二的解決過程:

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

解決辦法有兩個:

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

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

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

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

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

問題三的解決辦法:

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

問題四的解決過程:

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

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

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

點擊左表,右表顯示其子項目。

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

A

├─1

├─2

├─3

└─4

B

├─1

├─2

├─3

└─4

思想很清晰:

添加一個父項A、選中此父項A、對其添加子項1、2、3、4

添加一個父項B、選中此父項B、對其添加子項1、2、3、4

代碼也很簡單:

dimM定義父項數(shù)

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

Fori=1toM

Call添加父項(i)

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

Forj=1tobwflstep1

Call添加子項(j)

Next

Next

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

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

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

因為,在運行過程中生成的項目沒有加到對象庫中,無法被識別。

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

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

問題五,是對QTP很大的一個擴充。

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

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

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

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

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

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

4、進行位圖檢查,將驗證碼分段進行圖像驗證。

實際上,驗證碼的目的就是防止用程序灌水或機器錄入信息。所以有點為難我們測試了。

方法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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論