在開發提供了添加日志版本的客戶端后,開始嘗試重現錯誤。 手工執行登錄20余次后,再次遇到登錄失敗,但開發說輸出的日志不夠詳細,重新提交了一個編譯版本。實在是不想再重復做登錄操作,于是想到寫一個自動化的腳本來實現手工過程:
1)輸入用戶名,密碼,登錄客戶端
2)退出客戶端
3)刪除安裝后的用戶應用目錄(每次用戶登錄后,都會生成一個用戶的應用目錄,刪除是為了盡量接近全新安裝客戶端后再登錄的情況)
首先想到的是QTP,但由于我的測試機之前就安裝QTP 不成功,重裝系統當然是來不及了。于是想到使用AutoIT來完成上面的需求,代碼很簡單,如下:
Run("d:\安裝目錄\xxx.exe")
; 沉睡sleep(毫秒),這是為了等用戶登錄的對話框出現
Sleep(2000)
; 等待客戶端登錄的對話框
WinWait("登錄框窗口名")
; 在"用戶"框中輸入用戶id,方法:ControlSend ( "窗口標題", "窗口文本", 控件ID, "字符串" [, 標志] )
ControlSend("登錄框窗口名", "", "Edit6", "username")
; 在"密碼"框中輸入密碼
ControlSend("登錄框窗口名", "", "Edit7", "passwd")
; 點擊"登錄"按鈕,方法:ControlClick ( "窗口標題", "窗口文本", 控件ID [, 按鍵 [, 點擊次數 [, X坐標 [, ;Y坐標 ]]]] )
ControlClick("登錄框窗口名", "", "Button6")
;等待5秒
Sleep(5000)
;等待登錄成功后的客戶端窗口出現
WinWait("登錄成功后的客戶端窗口名")
Sleep(5000)
WinClose("登錄成功后的客戶端窗口名")
;刪除登錄后生成的用戶應用模具路
DirRemove("C:\用戶應用目錄", 1)
有了這個腳本,我們可以通過指定登錄的次數來重現或驗證缺陷是否修復。最后對開發第11次修改后的版本,重復運行登錄50次,沒有出現登錄失敗,表明該缺陷得到修復。如果采用手工測試,11個版本測試下來手估計都要斷了,呵呵。
AutoIT提供了一個窗口信息工具來識別窗口或控件,用法很簡單,可以參見autoit自帶的幫助手冊。
您可能感興趣的文章:- Python+AutoIt實現界面工具開發過程詳解
- python+selenium+autoit實現文件上傳功能
- AutoIt腳本的反編譯和代碼格式化問題分析
- autoit 更改個人文件夾的小工具
- AutoIt3和按鍵精靈的功能對比
- autoit入門教程小結
- autoit GUI相關知識
- Python selenium使用autoIT上傳附件過程詳解