您好,登錄后才能下訂單哦!
小編給大家分享一下python中Airtest自動化測試工具怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Airtest:是一個跨平臺的、基于圖像識別的UI自動化測試框架,適用于游戲和App,支持平臺有Windows、Android和iOS
Poco:是一款基于UI控件識別的自動化測試框架,目前支持Unity3D/cocos2dx-*/Android原生app/iOS原生app/微信小程序,也可以在其他引擎中自行接入poco-sdk來使用
源碼
AirtestIDE:跨平臺的UI自動化測試編輯器,內置了Airtest和Poco的相關插件功能,能夠使用它快速簡單地編寫Airtest和Poco代碼。
AirLab:真機自動化云測試平臺,目前提供了TOP100手機兼容性測試、海外云真機兼容性測試等服務,請訪問官網以了解更多
項目基于Python,因此寫出來的所有腳本都是Python代碼,建議在使用前,先學習Python的基礎語法知識。
在編寫自動化腳本時,可以配合官方提供的AirtestIDE編輯器,能夠快速編寫腳本。
自動化腳本,以及Airtest和Poco,都是基于Python的,因此也可以使用自己喜歡的Python編輯器來編寫腳本
Airtest有兩種安裝方式,一種是下載安裝AirtestIDE,該IDE自帶一個python環境和Airtest庫。支持可視化選取組件測試。缺點就是你自己安裝的Python環境和第三方模塊無法在這IDE中使用,只能重新安裝相關模塊。
在使用中先是安裝了AirtestIDE,在官網很快就可以下載安裝使用。打開IDE,左邊是Airtest輔助窗口和Poco輔助窗口,Airtest輔助窗口可以快速完成截圖識別圖片加點擊、滑動等操作代碼的生成。而Poco輔助窗口可以查看應用控件樹,快速生成與應用控件操作的相關代碼。中間則是代碼編輯框和Log窗體,用于編輯代碼和查看輸出結果等信息。右邊是設備窗口,可以進行連接設置和設備選定,當選定設備后,右邊的設備窗口將會變為被選定設備的當前UI界面。IDE界面如下圖所示。
可以從官網的介紹了解到Airtest采用了圖形腳本語言Sikuli的思路,使用者不需要一行行的編寫測試的代碼,而是用截圖的方式生成相關的操作代碼(當然熟悉相關Api的也可以用手寫代碼方式)。下圖所示為通過截圖實現的小Demo。
官方文檔: https://airtest.doc.io.netease.com/
項目支持Python(2.7或<=3.6)的運行環境,官方更推薦使用 Python3。在實踐過程中, 起初沒有在意這個python版本的問題,仍堅持使用了python3.8環境進行安裝,但是python3.8及以上版本是不能正常安裝。安裝時會報如下錯誤:
ERROR: Could not find a version that satisfies the requirement opencv-contrib-python<=3.4.2.17 (from airtest) (from versions: 3.4.8.29, 3.4.9.31, 3.4.9.33, 4.1.2.30, 4.2.0.32, 4.2.0.34)
ERROR: No matching distribution found for opencv-contrib-python<=3.4.2.17 (from airtest)
因為Airtest依賴的opencv-python的版本要小于3.4.2.17,而python3.8只能安裝版本大于3.4.2.17的opencv-python庫,即使你下載了opencv-python 3.4.2.17版本以上的whl文件進行本地安裝也是行不通的,安裝的時候python3.8的環境下會報error提示不支持安裝此版本的opencv。
解決方法:可以安裝兩個版本python,使用時進行切換環境;或者降低python版本;或者直接使用AirtestIDE…
在進行遠程連接時,如果嘗試連接一個不存在的設備,或者已經被占用的設備,會造成IDE幾秒假死;
在IDE假死期間關閉IDE,則adb有可能不會正常退出造成駐留,造成再開一次IDE又會喚起一個新的adb進程。這個情況是偶發性的,有時候能在假死的時候復現出,有時候不能。
當嘗試連接不存在設備時,即使設備是不存在的也會加入列表,狀態顯示的是offline。通常來說,通過 adb devices命令應該可以查看到連接的設備,不知道這樣顯示是不是有別的用意。除此之外,模擬器是需要進行adb connect才能在IDE中進行操作的。因此,還遇到了有時候進行連接時,會出現即使設備在線(已經確定端口沒被占用),也是顯示offline。
AirtestProject作為近幾年開發的移動自動化測試框架來說,其特點可謂鮮明。其一,支持跨平臺;其二,對于原生應用、Hybird應用、Web應用都有很好的支持度,還支持移動游戲測試。其三,采取圖形腳本語言Sikuli的思路,通過相應的IDE可以選取動作加截圖實現代碼的編寫。同時項目在Github上開源,Issue有較好的活躍度。
在實際使用過程中,健全的開發者文檔幫助解決了很多問題。雖然內容后面描述了很多IDE的BUG, 并不意味著AirtestProject不是一個好的自動化測試框架。畢竟IDE只是一個編輯器,不代表項目本身。相反,Airtest的各種特性讓其表現出色。使用AirtestIDE讓人快速上手開發的特點也不會因為這些BUG表現很糟糕。在使用時可以通過一些操作避免BUG發生,比如連接時不要頻繁點擊,假死關閉時把相應的進程也給清除,連接不上可以重新啟動模擬器或者查看相應端口是否被占用等。
以上是“python中Airtest自動化測試工具怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。