如何用 Python 測試 Android 應用
作者:蟲師,前快播Web測試工程師,前魅族高級測試工程師
原文:http://www.cnblogs.com/fnng/p/8486863.html
介紹
uiautomator2 是一個可以使用Python對Android設備進行UI自動化的庫。其底層基於Google uiautomator,Google提供的uiautomator庫可以獲取屏幕上任意一個APP的任意一個控制項屬性,並對其進行任意操作,但有兩個缺點:
1、測試腳本只能使用Java語言。
2、測試腳本必須每次被上傳到設備上運行。 我們希望測試能夠用一個更腳本化的語言,例如Python編寫,同時可以每次所見即所得地修改測試、運行測試。
安裝
安裝uiautomator2
初始化
部署相關的守護進程。
電腦連接上一個手機或多個手機, 確保adb已經添加到環境變數中,執行下面的命令會自動安裝本庫所需要的設備端程序:uiautomator-server 、atx-agent、openstf/minicap、openstf/minitouch
安裝完成,設備上會多一個uiautomator的應用。
配置手機設備參數:
有兩種方法,一種是通過WIFI,另一種是通過USB數據線將手機鏈接電腦。
WiFi連接更方便一點,需要保持PC和手機使用的一個WIFI,查看手機連接WIFI的IP地址。
測試
編寫以下腳本進行驗證:
運行結果:
定位元素:
我們可以藉助Android SDK自的uiautomatorviewer查看元素,這就要求手機必須以USB的方式連接PC,我前面使用的是WIFI連接進行連接的。所以,openatx提供了另外一個工具weditor 來解決這個問題。
GitHub地址:
1、安裝:
2、使用:
默認會通過瀏覽器打開頁面:
在頁面左上角選擇Android,輸入設備IP(192.168.31.234),點擊Connect按鈕。
當我們操作完手機後,可以點擊"Reload"按鈕進行刷新,從而保持與設備上的界面保持同步。weditor 還可以幫我們生成代碼。總之,你研究一下就會用了。
編寫測試腳本
這裡針對魅族社區App進行測試。
appstart()和appstop()用於啟動和停止應用。
常用的定位方式:
小結:其實關注該項目已經好幾個月了,目前該項目已經趨於穩定,整個測試環境的搭建過程也要比Appium簡單得多。
題圖:pexels,CC0 授權。
TAG:編程派 |