はじめに
AirtestIDE でスマホアプリ(ゲーム)のテスト自動化をしています。そこで実際に作成したスクリプトや環境をつくるために実施したことを綴ってみたいと思います。
※続編「【続】iOSでAirtestを動かす」にて情報更新しております。あわせてご覧ください
参考
こちらのドキュメンを参考にして 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-Tagent を Appiumの提供する WebDriverAgent に置き換えることで解決しました。
おわりに
参考になった箇所などありましたでしょうか。実際にiOS端末でAirtestIDEを試そうとした際に、いくつか試行錯誤したことがありましたので、何かのお役に立てたなら幸いです。