一、簡介
tidevice(類似安卓adb命令),用來做iOS自動化的工具,不用必須使用Mac掛着xcode,用Windows也可以啓動蘋果上的 WebDriverAgent 了。
tidevice 的github文檔:https://github.com/alibaba/taobao-iphone-device
二、使用方法
在本地python環境中,使用pip install tidevice命令安裝 tidevice 庫。(僅支持python3.7及以上版本)
使用tidevice時,需要提前安裝iTunes,並連接手機
注意:打開代理的情況(charles、Fiddler)會下載失敗,關閉後重新下載即可
三、常用命令
#查看所有連接上的設備:
$tidevice list
#截圖:
tidevice screenshot screenshot.jpg
#啓動蘋果設置:--手機會自動打開設置界面
tidevice launch com.apple.Preferences
#查看已安裝的第三方應用
tidevice applist
指定設備安裝:
# $UDID可以使用tidevice list命令查看
tidevice -u $UDID install D:/test.ipa
四、自動化壓測
難點:手機安裝WebDriverAgent
確保手機上已經安裝上WebDriverAgent
對於未跑過自動化的iOS設備,需要先檢查設備上是否安裝好了WebDriverAgent這個APP,如未安裝,則可以通過以下2種方式安裝:
① 將iOS設備與一臺Mac連接,然後使用xcode編譯源碼安裝,成功安裝WebDriverAgent即可脫離Mac;
② 使用tidevice的安裝命令,將開發者證書重簽名的 WebDriverAgent.ipa 安裝到iOS設備上。
注意點:
部署iOS測試平臺需要蘋果開發者證書,現在使用個人Apple ID登陸即可,不需要另外註冊付費開發者賬號
個人版的免費證書,每隔7天左右,要手動更新開發者證書;
需要手動的在iPhone中選擇信任證書,通用->設備管理->選擇信任;
最多支持3臺設備;
建議:使用公司的企業賬號或個人收費賬號測試(企業賬號可以綁定100臺也不需要更新證書)
安裝成功之後查看:
壓測方法1:使用uiautomator2實現壓測自動化
#使用wdaproxy啓動服務
# tidevice wdaproxy -B com.facebook.wda.WebDriverAgent.Runner --port 8100 (端口號可以隨意寫)
idevice -u 設備號 wdaproxy -B com.yummy1.WebDriverAgentRunner.xctrunner --port 8100
啓動成功後會提示:WebDriverAgent start successfully
#啓動後自動打開uiautomator2
python -m weditor
#訪問這臺ios設備信息
使用wdaproxy啓動之後,可以在瀏覽器中使用http://localhost:8100/status來訪問到這個iOS:
壓測方法2:使用IDE連接tidevice啓動iOS
#查看設備裏WebDriverAgent的BundleID
tidevice applist
指定BundleID啓動:
tidevice xctest -B com.yummy1.WebDriverAgentRunner.xctrunner
#在IDE的設備連接窗口連接iOS設備
打開最新版的IDE,在連接iOS設備框中輸入:
AirtestIDE工具官網安裝下載:https://www.cnblogs.com/zhu520/p/11389467.html
# DeviceIdentifier可以在啓動的信息中查看
http+usbmux://DeviceIdentifier
eg:http+usbmux://設備號
此時即可在IDE中實時看到iOS的設備畫面,並且對該設備進行自動化測試: