iOSでAirtestを動かしてみる


はじめに

AirtestIDE でスマホアプリ(ゲーム)のテスト自動化をしています。そこで実際に作成したスクリプトや環境をつくるために実施したことを綴ってみたいと思います。

参考

こちらのドキュメンを参考にして AirtestIDEから iOSに接続、テストスクリプトの実行までを行う環境を構築しました。
Airtest Project Docs - 2.4 iOS device connection / 2.4.3 Deployment process -
https://airtest.doc.io.netease.com/en/IDEdocs/device_connection/4_ios_connection/
※AirtestIDEの右下にある「?」アイコンから飛べます

環境

macOS 10.15.7
Xcode 11.6
Airtest IDE 1.2.6(Python)
iPhone XS(iOS 12.0)

セットアップ

Step1 iOS-Tagent

iOS-Tagent をクローンします。

$ git clone https://github.com/AirtestProject/iOS-Tagent.git

Xcodeで開きます。

WebDriverAgentを選択します。ここでPCに実機を接続してから、端末の選択を開きます。(ここでは「iPhone SE (2nd generatio)」となっている箇所)

PCに接続した実機を、選択します。

とりあえず、動かしてみます。

ワーニングを順次解消していきます。
まず、ターゲットビルドを実行する端末のiOSバージョンにあわせます。



WebDriverAgentRunner にて、Teamを選択します。(無い場合は AppleIDから作成)

Product Bundle Identiferを設定します。(ユニークな文字列にする)

再度、ビルドします。

WebDriverAgentRunner がビルドされます。ここで、「設定」アイコンをタップします。

設定から「一般」をタップします。

「プロファイルとデバイス管理」をタップします。

WebDriverAgentRunner のデベロッパを信頼します。

再度実行します。

Step2 Set Ploxy

iproxyをインストールします。

$ brew install libimobiledevice

iproxyを実行します。

$ iproxy 8100 8100
Creating listening port 8100 for device port 8100
waiting for connection

Step3 AirtestIDE

接続情報を入力して「Connect」ボタンをクリックします。

iOS端末に接続されます。これでAirtestのスクリプトを実行することができるようになりました。

はまりポイント

いくつかはまりポイントがあったので共有。

Xcode12だと iOS-Tagent が動かない

最新の Xcode12 だと動かない。Xcode11にて解決。
おなじような情報がありました。
https://github.com/AirtestProject/iOS-Tagent/issues/182

iOS端末側のアプリが起動しない

信頼しないといけない。

AirtestIDEが 横向きのアプリに対応していない

いまのところ対処法がなさそうでして、AirtestIDEの改修に期待したいとおもいます。

おわりに

参考になった箇所などありましたでしょうか。実際にiOS端末でAirtestIDEを試そうとした際に、いくつか試行錯誤したことがありましたので、何かのお役に立てたなら幸いです。