ネイティブアプリケーションの UI テストツール「NativeDriver」について
2011年6月29日水曜日
このテストケースを見ると、アプリケーションの起動に startActivity メソッドを使っている点と、NativeDriver の初期化に Builder を使っている点以外は、WebDriver のテストケースとまったく同じであることがわかります。 Android NativeDriver は、アプリケーションを操作するために内部的に Instrumentation を利用します。Instrumentation は Android の標準機能ですが、課題もあります。例えば、Instrumentation では同時に1つのプロセスしか操作することができません。これは、Instrumentation がデバイス内部で動作することに起因します。アプリケーションが他のプロセスを操作できてしまうと悪意のあるアプリケーションに不正にデバイスを操作される危険性があるため、そのようなふるまいは禁止されているのです。そこで、Android NativeDriver は、Instrumentation だけでなく必要に応じて Android Debug Bridge (ADB) 接続も利用できるようにしました。ADB はデバイス外部からの接続であり、特定のプロセスに依存せずにイベントを送信できます。これにより、アプリケーションが他のアプリケーションに処理を委譲するような場合でも処理を継続できるようになっています。また、スクリーンショットを撮る機能でも ADB 接続を利用しています。Instrumentation と ADB 接続をシームレスに使い分けられる点も、Android NativeDriver を利用するメリットのひとつです。 Google Code サイトでは、Android NativeDriver のチュートリアルを公開しています。また、利用者向け/コントリビュータ向けのメーリングリストを用意しています。Android 向けアプリケーションの開発者の方はぜひ試してみてください。