建議沒有用真機連接過的先看看AirtestIDE連接安卓真機及常見問題,有些問題是一樣的。
以下基於
python3.7;airtest1.1.8;pocoui1.0.81;airtestIDE1.2.8
連接模擬器
airtestIDE支持Android Virtual Device(AVD)和常見模擬器,AVD因為性能太爛,強烈不推薦。
其實模擬器的連接基本上和真機差不多,首先你得打開模擬器的開發者選項-允許USB調試,具體方法去模擬器官網查詢。
打開airtestIDE,在設備窗中點選'遠程設備連接',我用的是MUMU模擬器,輸入連接命令adb connect 127.0.0.1:7555
,並點'連接''。
點擊后發現沒反應,去CMD中輸入adb devices
,可以看到有模擬器設備,但處於offline狀態。
這可能是adb沖突導致,重啟下adb服務
adb kill-server
adb start-server
再回airtestIDE里連接,已經可以看到模擬器設備了(注意前面的'emulator-5554'就是模擬器的device id)
點擊連接后,就接入模擬器了。
和真機一樣,如果連接不成功,可以試試選中一些連接參數,首先勾選'Javacap模式'嘗試,如果不行再選中'use adb orientation'嘗試。
上面我輸入MUMU的連接命令用到的端口是7555,每家模擬器的端口是不一樣的:
模擬器 adb連接代碼
網易Mumu adb connect 127.0.0.1:7555
夜神 adb connect 127.0.0.1:62001
逍遙 adb connect 127.0.0.1:21503
iTools adb connect 127.0.0.1:54001
天天 adb connect 127.0.0.1:6555
海馬玩 adb connect 127.0.0.1:26744
BlueStacks adb connect 127.0.0.1:5555
建議使用MUMU,畢竟都是網易家的,后面會轉發一篇模擬器對比的文章,大家可以看下各模擬器對airtest的契合度。
模擬器多開時連接airtest
以夜神為例,假如用了模擬器的多開,怎么連接呢?
先在cmd中輸入adb devices
,結果如下:
127.0.0.1:62001
整體都是其中一個模擬器的divece id,其中62001是夜神默認的1個端口號,62025是多開的那個模擬器的端口號。
之后的連接方法同上,記得每個模擬器都要打開USB調試。
模擬器連接常見問題
-
adb沖突。使用前最好將模擬器自帶的adb換成airtest中的adb。
airtest的adb文件所在路徑如下:
夜神模擬器的adb文件所在路徑如下:
需要注意的是夜神文件夾下除了有一個adb.exe外,還有個nox_adb.exe。我們除了要替換神的adb.exe,還要用airtest的adb復制一份改名為nox_adb.exe進行替換。其他模擬器同理。
-
如果看不到設備或設備離線,需要重啟adb
-
如果連接不成功,可以試試選中一些連接參數,首先勾選'Javacap模式'嘗試,如果不行再選中'use adb orientation'嘗試。
-
如果連接后無法點擊投屏,重啟連接並選中參數‘use ADBtouch’
-
部分品牌模擬器(例如夜神),可能因為默認使用鍵盤輸入,因此無法調用yosemite輸入法,導致 text() 接口無法輸入文字。可以先確認模擬器設置中,硬件-物理鍵盤 是否被勾選了, 取消勾選后再重新嘗試即可:
如果依然失敗(物理鍵盤選項被不斷自動重置),可以打開右上角的模擬器設置,勾選軟鍵盤選項后重試:
如果依然無法輸入,可以使用airtest封裝的adb命令輸入文字:
shell("input text 'hello world'")
-
yosemite.apk 未安裝也容易導致模擬器連接失敗,一般會出現如下的報錯;請檢查模擬器上是否成功自動安裝了 yosemite.apk,如果沒有安裝的話,檢查開發者選項中是否默認阻止了通過USB安裝應用,應該選擇允許,然后在連接時IDE會自動向模擬器中安裝該apk 如果還是裝不上,可以在IDE目錄下搜索一下這個apk文件,手工安裝到模擬器中(yosemite.apk自行在airtestIDE文件夾中搜索):
---------------------------------------------------------------------------------
關注微信公眾號即可在手機上查閱,並可接收更多測試分享~