自動化測試探祕【1】

根據測試對象的不同,自動化測試有很多中不同的類別,比如客戶端自動化測試、Web類自動化測試、服務器自動化測試等,類別不同,使用的技術也不同。

1.客戶端自動化測試

最近工作要測試的軟件是一個windows桌面C/S架構的軟件。主要做功能測試,所以就想到了使用客戶端UI自動化測試。

客戶端UI自動化測試主要基於對軟件UI的識別、操作和驗證。UI識別和操作的基本原理是進程間通信。圍繞這一基本原理,業內有QTP、pywinauto等解決方案。

另外,QTP和pywinauto對標準控件的UI識別和操作支持較好。對非標準控件(自繪控件)無可奈何,同時對於UI等待狀態需要單獨支持,對於如今紛繁複雜的客戶端程序的自動化測試實現來說略顯蒼白。

1.1 QTP

QTP提供了一整套自動化的解決方案,包括UI基礎庫、測試用例開發模式(錄製回放)、用例開發調節模式、用例執行器、報表生成等。這裏所說的UI基礎庫的實現就是基於Win 32 API的方式,通過截獲windows消息來達到錄製自動化腳本的目的。QTP使用的編程語言是VBScript。

UI基礎庫的工作原理是在錄製的時候識別用戶操作過的對象,把這些對象用來識別的基本屬性存儲在對象庫中,在執行測試腳本時,如果腳本命令時對某個對象進行操作,則QTP會搜索對象庫,找到該對象,把該對象的基本屬性和系統中的對象進行匹配,匹配成功後把操作施加到對象上。

1.2 pywinauto

他最主要的功能是對Windows標準控件的一系列動作可編程處理,包括對窗口的只當,對鼠標和鍵盤的操作、獲得控件屬性等。下圖爲pywinauto的模塊劃分:

命令形式:app.window.control.property/app.window.control.action

但是他更像是一個純粹的面向windows標準窗口和控件的UI基礎庫,對用例的管理、執行,用例開發模式、報表等自動化工作中常見的一些環節,他都沒有。但是,這恰好提供了更好的擴展性及與不同的用例開發模式、自動化測試框架結合的可能。

摘自《windows軟件測試探祕》By王磊、韓靜。

 

【1】測試環境管理:

自動化部署軟件(使用系統命令*.vbs/製作安裝包/靜默安裝等)

環境資源池管理系統(Web界面開發、後端服務器支持、個人虛擬機的使用、系統虛擬機的使用)

【2】測試數據管理

 

 

任務:

1. 用pywinauto做類似qtp的工作 https://pywinauto.readthedocs.io/en/latest/ 

https://blog.csdn.net/leak235/article/details/78649301?locationNum=8&fps=1

2. 用python實現一個簡單的測試用例https://blog.csdn.net/for_choc/article/details/79248508

3.嘗試自動安裝D-Cube的安裝環境(自動化部署軟件)