最近在研究針對windows桌面應用程序的自動化工具,查找了網上相關資料,UI自動化工具很多,但是想同時支持windows桌面應用程序、web端以及APP段的工具少的可憐,以下是一些工具的總結:
pyautogui
Pyautogui對鼠標的移動、點擊、拖拽,鍵盤按鍵輸入、按住操作,以及鼠標+鍵盤的熱鍵同時按住等操作都能准確模擬,可以說手能動的都可以,並且簡單方便。但由於控件的定位依賴於圖像匹配,所以得事先保存好控件的截圖,然后在操作時自動截取屏幕,利用圖像匹配找到控件在屏幕的像素位置,再將鼠標自動移至控件處點擊。
Pyautogui自帶的圖像匹配函數精度不是很高,可以加入opencv中的匹配函數來代替,更加准確方便。
TestWriter
TestWriter是一款0編碼自動化測試工具,用戶可以通過統一圖形化界面輕松創建測試計划,並驅動執行引擎完成自動化測試任務,有效降低了測試人員能力要求及腳本維護工作量,讓自動化測試更簡單,更專注於業務。可測web、andriod、ios平台應用。通過圖形化界面,對測試對象、測試步驟、用例等層層封裝映射,清晰理清業務關系。業務變動、界面調整時僅需修改相應業務庫內容。支持分布式測試,通過擬定計划,自動匹配測試環境並分配執行機器,無需測試人員干預,輕松實現自動定期回歸。引入了中間語言,讓自動化測試的開發工作脫離具體引擎的限制,降低Selenium和QTP等自動化工具的使用難度。實時查看執行情況,自動記錄測試結果,並對錯誤步驟進行問題分析及錯誤時UI截圖。
QTP
全名HP QuickTest Professional software ,2012年12月6日發布11.5版本,並更名為Unified Functional TestingQTP是quicktest Professional的簡稱,是一種自動測試工具。使用QTP的目的是利用它來執行重復的手動測試,主要是用於回歸測試和測試同一軟件的新版本。
因此你在測試前要考慮好如何對應用程序進行測試,例如要測試那些功能、操作步驟、輸入數據和期望的輸出數據等
QuickTest針對的是GUI應用程序,包括傳統的Windows應用程序,以越來越流行的Web應用。它可以覆蓋絕大多數的軟件開發技術,簡單高效,
並具備測試用例可重用的特點。其中包括:創建測試、插入檢查點、檢驗數據、增強測試、運行測試、分析結果和維護測試等方面。
pywinauto
Pywinauto是實現Windows窗口程序自動化的一把利器,它主要操作於Windows標准圖形界面。Pywinauto基於Pywin32,其最主要功能為對Windows標准控件的一系列動作可編程處理,包括對窗口的指定、鼠標或鍵盤操作、獲得控件屬性等等。相比起Pywin32,Pywinauto使用起來更方便穩定,對中文的支持度也更好。
pywinauto與pyautogui比較
Pyautogui是另一個常用的基於Python的GUI自動化工具,能夠支持多個平台。Pyautogui主要是利用程序自動控制鼠標和鍵盤操作。雖然Pyautogui和Pywinauto都是實現GUI 的自動操作,但兩者的側重點不同。Pyautogui側重於鼠標、鍵盤、截圖等功能,且是基於圖像匹配進行定位的,而Pywinauto側重於對C/S系統的操作,雖然也有鍵盤和鼠標的模擬操作,但核心上還是軟件上的操作更多。
Airtest
Airtest是網易出品的一款基於圖像識別和poco控件識別的一款UI自動化測試工具。Airtest的框架是網易團隊自己開發的一個圖像識別框架,這個框架的祖宗就是一種新穎的圖形腳本語言Sikuli。Sikuli這個框架的原理是這樣的,計算機用戶不需要一行行的去寫代碼,而是用屏幕截屏的方式,用截出來的圖形擺列組合成神器的程序,這是Airtest的一部分。另外,Airtest也基於poco這個U控件搜索框架,這個框架也是網易自家的跨平台U測試框架,原理類似於appium,通過控件的名稱,id之類的來定位目標控件,然后調用函數方法,例如click(),swip()之類的方法來對目標控件進行點擊或者是操作.
codeui
CodeUI Test是微軟自動化測試的一個比較好的項目,它的原理是獲取到Windows窗口上的控件,然后針對控件的部分屬性進行獲取和對比,模擬對控件進行點擊、雙擊、右鍵點擊等事件。這樣可以錄制用戶測試用例的動作,一次錄制完動作,以后只需要運行測試用例程序,即可自動化測試。
注意:Code UI Test只能針對Window 程序。如果是C#編寫的將會更加有效。
renorex
Ranorex Studio為測試人員提供了完整的解決方案,可在一個許可證中對台式機,Web和移動應用程序進行端到端測試。在Windows桌面上自動化測試,然后在真實的iOS或Android移動設備或模擬器/模擬器上本地或遠程執行它們。並行運行測試以獲得快速結果。內置的Selenium WebDriver可以加速針對Chrome,Firefox,Safari,Microsoft Edge等的跨瀏覽器測試。讓Ranorex Studio花費更少的時間來解決不穩定測試中的問題,
而將更多的時間用於評估應用程序的質量。
pyautoit
PyAutoIt是一個使用類似BASIC腳本語言的免費軟件,它設計用於Windows GUI(圖形用戶界面)中進行自動化操作,它利用模擬鍵盤按鍵,鼠標移動和窗口/控件的組合來實現自動化任務。
TestComple
TestComplete是AutomatedQA公司開發的一套支持自動測試軟件的工具。在當今的軟件開發中,自動測試非常重要,大型軟件開發公司很久以來就已經將其作為軟件開發的一項重要環節。然而,自動測試軟件一般成本較高而且不易使用,很難在小型公司內推廣。TestComplete為Windows、.NET、Java和Web應用程序提供了一個特性全面的自動測試環境。將開發人員和QA部門人員從繁瑣耗時的人工測試中解脫出來。TestComplete測試具有系統化、自動化和結構化特性,支持.NET,Java,Visual C++, Visual Basic, Delphi, C++Builder和web應用程序。
TestComplete就是一款自動化測試工具,可以測試傳統的windows桌面程序,web應用,webservice,wince程序(這個就算了吧),http負載測試等功能。