概述:
Airtest支持iOS自動化測試,在Mac上為iOS手機部署iOS-Tagent之后,就可以使用AirtestIDE連接設備,像連接安卓設備一樣,實時投影、控制手機。iOS測試不僅限於真機測試,iOS模擬器也可以進行
相關環境:
1.xcode( ≥ 9.3)
2.python環境(≥3.5 <3.9)
3.iOS手機( ≥ 9.3系統版本)
4.pycharm
5.ideviceinstaller
6.airtestIDE
7. iOS-Tagent
備注: 1.在 9.3≤iOS≤10時,由於基於舊版xcode SDK,建議使用Xcode 版本≤10.1來啟動iOS-Tagent,否則會出現手機截屏不全的問題。
2.免費個人版開發者賬號的證書有效期為7天。
部署流程
-
在Mac下載 iOS-Tagent ,使用 Xcode 啟動
Test
, 具體啟動過程可參考 https://github.com/AirtestProject/iOS-Tagent 。當Xcode的log窗口輸出下圖信息的時候,就意味着部署成功了。 -
啟動代理,在命令行下執行
iproxy 8100 8100
運行代理后,可以在瀏覽器打開 http://127.0.0.1:8100/inspector ,查看iOS設備是否能成功連接。
iproxy是usbmuxd附帶的一個小工具,它的作用是將設備的某個端口映射到電腦的某個端口。mac下可以通過brew安裝
brew install usbmuxd
。
iproxy 8100 8100
意思就是將手機的8100端口,映射到電腦的8100端口上。這樣我們就能通過訪問電腦的8100端口來訪問到手機了。
- 在 AirtestIDE 的設備窗口,輸入地址:
http://127.0.0.1:8100
或http://x.x.x.x(MAC IP):8100
:
點擊Connect
按鈕即可連接iOS設備,如圖:
到這里設備就可以連接上airtestIDE了;
備注:
1.需要一直保持 iOS-Tagent的Test在運行狀態(在菜單欄 product
-> Test)
2.iproxy在運行狀態中
3.有時候WebDriverAgent未響應,或者需要通過自動化執行時,在xcode明顯不能滿足需要(需要命令shell)
#!/bin/bash # 解鎖keychain,以便可以正常的簽名應用, PASSWORD="123456" security unlock-keychain -p $PASSWORD ~/Library/Keychains/login.keychain # 獲取設備的UDID UDID=$(idevice_id -l | head -n1) # 運行測試 xcodebuild -project /Users/root1/Desktop/iOS-Tagent/WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=$UDID" test
相關文檔:
https://github.com/AirtestProject/iOS-Tagent/blob/master/Introduction/README_zh.md .......................中文篇部署 iOS-Tagent
https://www.jianshu.com/p/548d23303498 .................airtest導入iOS-tagent遇到的坑
https://www.zhihu.com/question/298295121 ................xcode可以通過開發者賬號或證書,把項目裝到手機
https://blog.csdn.net/AirtestProject/article/details/103489723 ................如何在iOS手機上進行自動化測試
https://airtest.doc.io.netease.com/tutorial/6_IOS_automated_testing/ ..............如何在iOS手機上進行自動化測試
https://testerhome.com/topics/7220 .................iOS 真機如何安裝 WebDriverAgent
https://blog.csdn.net/hsh881025/article/details/103268225 .....................iOS 自動化測試初探
https://blog.csdn.net/qq_27339239/article/details/103695206 ....................iOS 自動化測試 AirTest+wdaproxy來遠程訪問