読者です 読者をやめる 読者になる 読者になる

山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

Appium、UI Automator

ブログ
iOSアプリの自動テストについて検証しています。

思ったよりいろんなツールがあります。一番良さそうなのはAppiumです。

Appium

名前がSeleniumに似ているとおり、Seleniumスマホ版のようなツールになっています。iOSAndroidも対応、いろいろな言語でテストを書くことができます。JavaScriptRubyJavaObjective-Cなど。テストするビルドにSDKを組み込む必要がありません。シミュレータでも実機でもテストできます。GUIツールもついていて実際の画面を操作しながらコードを生成できます。

と、非常に魅力的なツールでありますがなぜかかなり苦戦しています。アプリを起動するとまず最初にプッシュ通知の許可のダイアログが出ますがこれがあるとアプリ本体を見つけられないのかテストが動かずタイムアウトしてしまいます。アラートを操作するメソッドがあったのでそちらを使うといいのかもしれませんがまだ試していません。

GUIツールはなぜか全然要素を拾えません。オブジェクトの階層から要素を指定できるのでそちらを主に使っております。全部にidをつけてid指定で書くほうがいいのでしょうか。

一通り実行が終わるとぶちっとアプリが落ちます。appiumのログにエラーというメッセージが出ているので正常に終了していないのかと思いいろいろ調べてしまいましたがどうもこれでいいようです。


シミュレータ内のアプリの自動操作はAppleが提供しているものがあります。Automatorといいます。Appiumは内部でこれを使っていると思います。やはりGUIで操作してソースを生成できます。ソースはJavaScriptです。テストに特化した機能は劣りますがApple製なので安心感はあります。