はじめに
Airtest と Pcoo の説明は省きます
去年の CEDEC で発表があり話題になったツールですね
今回は iOS で Airtest と Poco を組み合わせた UIテストを行おうとした際に引っかかったポイントのまとめです
この内容は投稿時点でのポイントであり、数ヶ月後には参考にならない可能性がありますのでまずは公式の Issue を見ることをお勧めします
1. iOS-Target の セッションが作成されない
iOS で Airtest を実行するには Airtest 向けに改良した iOS-Target を端末にインストールする必要があります
プロジェクトURL : https://github.com/AirtestProject/iOS-Tagent
私の環境では初回のみ特に引っかかることなく iOS 端末でのテストを行えたのですが、それ以降繋がらない問題が発生しました
(繋がらないというのは AirtestIDE の Connect を押しても映像が映らないという意味です、ログをみる限り接続自体は出来ていました)
色々と調査をした結果、恐らくセッションが作成されていないことが問題であると判断し以下のコマンドを叩いてセッションを作成した結果 Connect を押して無事繋がることを確認できました。
curl --location --request POST ‘http://192.168.0.103:8100/session’ \
--header ‘Content-Type: application/json’ \
--data-raw ‘{“capabilities”:{}}’
iOS-Target を iOS 端末で実行している状態で http://127.0.0.1:8100/status
へ接続すると以下のような画像の情報が表示されます
sessionId
が null
の場合はこの対応で解決しました
2. AirtestIDE 1.2.7
で AttributeError: 'IOS' object has no attribute 'instruct_helper'
と表示される
恐らく Airtest のバグです
1.2.6
ではこの問題は発生していないのを確認したので、1.2.7
から 1.2.6
へバージョンを変えることをお勧めします
Issue は立っていました : https://github.com/AirtestProject/Airtest/issues/862
3. Landscape(横画面)でビルドすると Airtest が動作しない
これはかなり引っかかりました・・・
こちらの方の記事を見かけなければ更に沼にハマっていたかもしれません
修正を待ちましょう
まとめ
書いてみると大したことなさそうな感じしますね・・・
あまり iOS 向けの記事を書いている方がいなかったのでどなたかの助けになれば幸いです