閱讀文本大概需要 6 分鐘异雁。
很多讀者都知道,之前的文章都是針對 Android 端的自動化操作僧须。原因很簡單纲刀,安卓用戶群更廣,系統(tǒng)更開放皆辽,使用更方便便捷柑蛇。
今天,我們來試試 iOS 端如何使用 Airtest 完成自動化操作驱闷。
Airtest 要在 iOS 端完成自動化耻台,需要在 Mac OSX 裝上最新版本的 Xcode、iphone 系統(tǒng)也更新到最新版本空另,最后準備一個 Apple ID 賬號盆耽。
使用 git 下載官方提供的 iOS-Tagent 項目源碼,然后用 Xcode 打開項目扼菠,然后在 Xcode 配置文件中登錄開發(fā)者賬號為 Apple ID摄杂,最后為項目設置開發(fā)者證書,具體步驟可以文章底部閱讀原文獲取循榆。
Xcode 設置運行方式為 WebDriverAgentRunner析恢,手機通過數(shù)據(jù)線連接 Mac,然后將連接目標 Destination 選中為真機秧饮,最后以 Test 測試模式啟動項目映挂。
官方推薦使用 iproxy 把 iphone 端口映射到 Mac 端口泽篮,經(jīng)過反復測試后發(fā)現(xiàn),使用 mobiledevice 設置代理更穩(wěn)定柑船。
安裝 mobiledevice 軟件后帽撑,加上 8100 端口設置代理服務。
# 將代理映射工具換成 mobiledevice
brew install mobiledevice
# 開啟服務
mobiledevice tunnel 8100 8100
在瀏覽器中打開 http://127.0.0.1:8100/inspector鞍时,如果能看到手機界面亏拉,就說明服務開啟成功。
打開 Airtest IDE 利用默認的設置連接設備逆巍,然后新建一個 .air 腳本文件及塘,Poco 輔助窗選擇目標平臺為 iOS,這樣編輯器內會自動生成一段腳本文件蒸苇。
將生成的代碼拷貝到 Pycharm 中磷蛹,接下來就可以像做 Android 自動化一樣使用 Poco 了。
眾所周知溪烤,Android 端打開一個應用是依靠應用包名 + 啟動界面 Activity,而 iOS 端只需要應用 bundle 即可以啟動應用庇勃。
獲取 iOS 端應用的 bundle 需要借助于 Mac OSX 提供的控制臺應用程序檬嘀,通過文本 with intent foreground-interactive 進行過濾,即可以拿到應用的 bundle责嚷。
最后鸳兽,利用 poco 提供的 API 即可以打開一個應用了。
from poco.exceptions import InvalidOperationException
__author__ = "xingag"
from airtest.core.api import *
auto_setup(__file__)
from poco.drivers.ios import iosPoco
# 連接涉筆
connect_device('iOS:///127.0.0.1:8100')
poco = iosPoco()
package = 'com.taobao.fleamarket'
# 打開應用
home()
stop_app(package=package)
start_app(package=package, activity=None)
文章首發(fā)于微信公眾號【 AirPython 】罕拂,本篇大家配置 iOS 自動化環(huán)境打開一個應用揍异,后面將帶大家利用 Airtest 進行一些項目實戰(zhàn)。
推薦閱讀