1.用Airtest測試iOS一定要用macOS嗎?
① 使用 xcode
部署 iOS-Tagent
需要在macOS完成;
② 部署好以后可以在macOS或Windows機器上連接到iOS手機進行測試。
2.本地pip list可以找到airtest,但pycharm里找不到
很多同學都遇到過這個問題,明明在本地命令行使用 pip list
可以看到已經安裝了Airtest庫,但是在自己的pycharm里面卻找不到Airtest這個庫。 這種情況很有可能就是你的pycharm使用了 虛擬環境的解釋器 。
你可以隨意運行1個項目,然后查看運行結果窗口顯示的解釋器是不是你在本地安裝的解釋器的路徑,如果不是,一般會帶有 venv
的字樣,例如:
D:\test\vene\Scripts\python.exe D:\test\test.py
這種情況只需要將pycharm從虛擬環境切換到安裝了Airtest的本地環境即可。
3.報告可以導出發給別人看嗎?
Airtest的報告是可以打包發給別人看的。
① 想要導出報告發給別人觀看,我們需要生成報告的命令中傳入 --export
參數,這樣就可以將 包含靜態資源文件和圖片文件的報告 導出到一個指定的文件夾內,之后直接將整個文件夾發送給別人觀看即可。
② 如果生成報告時不傳入 --export
參數,那么報告中的靜態資源文件和圖片文件將使用 絕對路徑 來訪問,此時將整個文件夾發給別人觀看,別人也是無法正常觀看的。
4.pip install -U airtest 無限超時
使用 pip
命令安裝Airtest,如果出現無限超時的問題,可以考慮配置 清華源 來解決。

5.如何檢查adb是否連接上設備
使用AirtestIDE連接安卓設備之前,需要確保ADB已經連接上了設備。
① 我們可以使用 adb devices
來查看設備情況,如果僅僅提示 List of devices attached
,則表明ADB未連接上任何設備;此時需要檢查手機上的 USB調試
功能是否已開啟,或者換一根USB數據線;
② 如果ADB已連接上設備,那么執行 adb devices
后,會顯示已連接設備的列表:
List of devices attached
SJE5T17B17001648 device
SJE5T17B17001650 device
6.poco無限重啟的解決辦法
① 如果開了網絡代理的話,需要先 關閉各種代理和VPN ,否則可能會影響到poco通訊
② 檢查手機助手內是否對 pocoservice.apk
做了限制,例如在某版本的華為手機中需要開啟 允許自啟動 和 允許后台活動
airtest.doc.io.netease.com/IDEdocs/dev…
③ 不能和uiautomator同時啟動,否則會相互沖突
④ 可以嘗試 重啟手機 看看是否會恢復
7.如何刪除iOS輸入框的內容
① 對於Android平台,我們可以使用多種方法來刪除輸入框的內容,比如使用 keyevent
接口: keyevent("KEYCODE_DEL")
;或者使用Poco的 set_text()
方法: poco("xxx").set_text("")
;
②但對於iOS平台來說,暫不支持 set_text()
接口,也不支持 keyevent("KEYCODE_DEL")
,所以這倆種方法對於iOS的輸入框來說是無效的。iOS支持 text()
方法,所以我們可以用 text("\b",False)
,來實現iOS輸入框內容的刪除

8.設備連接參數怎么理解?
IDE提供了3個備用的連接參數: Use javacap
、Use ADB orientation
和 Use ADB touch
;
① 第一個 Use javacap
,是給部分無法正常看到手機畫面、minicap初始化失敗 的手機或設備用的,所以模擬器看到黑屏、部分特殊的平板等設備可以考慮勾選這個選項
② 第二個 Use ADB orientation
是 屏幕旋轉 的,如果在安卓手機屏幕旋轉方向檢測有問題、或者是部分特殊的平板無法顯示正確的屏幕方向時可以勾選
③ 第三個 Use ADB touch
是 發送adb指令來點擊屏幕 ,效果很差,速度也很慢,不建議勾選,只有在部分無法點擊屏幕的特殊安卓設備上才需要使用(例如智能后視鏡、特殊型號的平板等設備上) 正常情況下,手機都可以點擊,如果無法被點擊(比如小米設備),一般都是因為手機設置有選項漏了打開,特別是 小米設備要注意開啟允許模擬點擊 的設置
Airtest官網:http://airtest.netease.com/
Airtest教程官網:https://airtest.doc.io.netease.com/
搭建企業私有雲服務:https://airlab.163.com/b2b