Google、Android用のUIテスト自動化フレームワーク「Espresso」公開

2013年10月23日

アプリケーションの画面に対してボタンを押したり入力を行い、正しい結果や答えが返ってくるか? ユーザーインターフェイスを含むテストコードの開発は一般に手間がかかり面倒であり、テスト用のライブラリやフレームワークが欠かせません。

Googleは、Android用のUIテスト自動化のためのフレームワーク「Espresso」をテクノロジープレビューとして公開しました

Espresso - android-test-kit - a fun little Android UI test API - Testing Tools For Android - Google Project Hosting

EspressoはこれまでGoogle社内で、Google DriveやGoogle Maps、Google+など30種類のアプリケーションのテスト自動化に使われてきました。

特徴は、軽量でシンプルな記述をアプリケーションのコードに追加するだけでUIテストの自動化ができること。イベントの発火タイミングを合わせたり、UIが表示するのを待つといったテストのための面倒な記述は不要。画面上にコンポーネントが表示されたかどうか、それに対してクリックやダブルクリック、文字列入力といった操作を行い、結果として正しいコンポーネントや値が表示されたかどうかをチェックする、といった記述が行えます。

シンプルなAPIでUIテストの自動化

EspressoのWebサイトにあるサンプルコードを見てみましょう。2行目から3行目は、「name_field」が表示されたら(onView)「Steve」と入力(perform)。4行目で「greet_button」が表示されたら(onView)クリックを行います(perform)。5行目と6行目では「Hello Steve!」と表示されたかどうかをチェックしています(check)。

public void testSayHello() {
  onView(withId(R.id.name_field))
    .perform(typeText("Steve"));
  onView(withId(R.id.greet_button))
    .perform(click());
  onView(withText("Hello Steve!"))
    .check(matches(isDisplayed()));
}

シンプルなAPIでテストコードが記述でき、高速に実行できます。以下はEspressoのデモ動画です。約10分。

あわせて読みたい

ソフトウェアテスト・品質 プログラミング言語 Android Google モバイル




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本