QTP(UFT)自動化測試識別處理驗證碼?

使用QTP進行web測試時,經常會遇到驗證碼登陸的問題。此時進行自動化測試時最好的辦法當然是直接在程式碼中遮蔽掉驗證碼。但是對於驗證碼相對比較清晰,干擾線較少的驗證碼,我們可以使用OCR文字識別技術識別出其中的驗證碼。本文以一個系統的登陸為例說明識別的過程,以及具體的使用方法。本文中所屬使用的為UFT12版本。

方法/步驟

首先雙擊UFT開啟選擇外掛頁面,在此去掉web外掛的勾選,因web外掛不支援文字驗證輸出功能。去掉勾選後,點選【確定】開啟uft使用介面。

QTP(UFT)自動化測試識別處理驗證碼

點選選單欄的【檔案】→【新建】→【測試】建立一個新的測試指令碼

QTP(UFT)自動化測試識別處理驗證碼

開啟要識別驗證碼的登陸頁面。點選工具欄的錄製按鈕,開啟錄製和執行設定頁面後,點選【確定】按鈕開始錄製

QTP(UFT)自動化測試識別處理驗證碼

點選正在錄製工具欄中如下圖所示的按鈕後,選擇【文字區域輸出值】。然後滑鼠拖動選擇驗證碼的圖片區域

QTP(UFT)自動化測試識別處理驗證碼

開啟文字區域輸出值頁,如下圖所示,直接點選【確定】

QTP(UFT)自動化測試識別處理驗證碼

開啟的頁面中,點選【修改】按鈕在開啟的頁面中,“輸出型別”選擇“Environment”,“名稱”可以修改為方便使用的名字。之後點選【確定】

QTP(UFT)自動化測試識別處理驗證碼

點選完成錄製按鈕,回到指令碼頁面。此時錄製之後自動生成了識別的指令碼

QTP(UFT)自動化測試識別處理驗證碼

之後可以輸出一下剛才新增的引數,檢視是不是能夠正確識別。如下圖加入直接輸出的程式碼,之後執行該指令碼。驗證碼正確的輸出了。

QTP(UFT)自動化測試識別處理驗證碼

接下來我們就要將該識別的指令碼運用到登陸過程中。去掉第8步中新增的msgbox的程式碼,關閉該指令碼,重新開啟UFT。這次在選擇外掛的地方勾選上WEB外掛

QTP(UFT)自動化測試識別處理驗證碼

參考步驟2新建一個測試指令碼。並將使用者名稱、密碼、驗證碼、登陸等物件識別之後編寫登陸的指令碼。此處不再進行贅述。此處重點描述驗證碼的調取過程。在需要獲取驗證碼值的程式碼前面滑鼠右鍵,選擇【操作】→【呼叫現有操作】

QTP(UFT)自動化測試識別處理驗證碼

選擇編寫完成的獲取驗證碼的指令碼之後,位置選擇“當前步驟之後”,點選【確定】按鈕。會自動在指令碼中新增 RunAction "獲取驗證碼 [驗證碼]", oneIteration 的指令碼

QTP(UFT)自動化測試識別處理驗證碼

QTP(UFT)自動化測試識別處理驗證碼

如下圖中為對驗證碼的使用。測試我們可以直接使用自定義環境變數。因為識別時可能會識別出多餘的空格,此處使用replace函式進行了去空格的處理。然後我們就可以直接執行指令碼啦

QTP(UFT)自動化測試識別處理驗證碼

文字, 過程, 程式碼, 驗證碼,
相關問題答案