BT

Ready for InfoQ 3.0? Try the new design and let us know what you think!

NativeDriverを使ったネイティブモバイルアプリのテスト自動化

| 作者: Abel Avram フォローする 12 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2011年6月29日. 推定読書時間: 2 分 |

原文(投稿日:2011/06/23)へのリンク

NativeDriverはAndroidおよびiOSネイティブアプリのテスト自動化を提供するものだ。これはWebDriver APIを実装している。

GoogleはNativeDriverを開発した。これはWebDriver APIの一実装であり、 SeleniumがやっているようなブラウザUIではなく、ネイティブUIを使ったアプリの機能テストを実行するためのテスト自動化フレームワークだ。Googleはネイティブアプリのために新しいものを作るかわりに、WebDriver APIを再利用することにした。これらには多くの類似点があるためだ。どちらも、クリック、タイプ、テキスト読み込み、ウィンドウ切り替えといった同じUI操作をコントロールする。また、WebDriverになじみのあるユーザは、別のAPIを学ぶ必要がなく、すぐにNativeDriverを使い始めることができる。

NativeDriverは、さまざまな状況下でアプリがどのように振る舞うかをテストするために、自動化したUIコマンドをネイティブアプリ内で実行するのに利用できる。Androidにおいて、NativeDriverはInstrumentationを利用している。これはアプリケーション内部で通常機能するサイクルの外部において、さまざまなOSコンポーネントをプログラムからコントロールするメカニズムだ。例えば、簡単なNativeDriverテストは次のようになる。

AndroidNativeDriver driver = new AndroidNativeDriverBuilder().withDefaultServer().build();
driver.startActivity("com.google.android.maps.MapsActivity");
// placesボタンをクリックしてPlacesアクティビティを開く(検索ボックスの右)
AndroidNativeDriver btn= driver.findElement(By.id("btn_header_places"));
btn.click();
// Placesウィンドウを閉じる。AndroidのBackボタンを押すのと等価
driver.navigate().back();
// デバイスを回転してlandscapeモードでUIを表示
driver.rotate(ScreenOrientation.LANDSCAPE);

今のところ利用できるのはAndroid版だけだが、GoogleはまもなくiOS版をリリースすると約束している。Windows版もプロトタイプフェーズにある

このモバイルOSのためのテストフレームワークのほかにも、GoogleはモバイルブラウザのためのWebDriverも公開している。これはAndroidおよびiOSのブラウザで実行するWebアプリ向けのテストをサポートするものだ。Blackberry向けのプロジェクトもある。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション
BT