Google、Android用のUIテスト自動化フレームワーク「Espresso」公開
アプリケーションの画面に対してボタンを押したり入力を行い、正しい結果や答えが返ってくるか? ユーザーインターフェイスを含むテストコードの開発は一般に手間がかかり面倒であり、テスト用のライブラリやフレームワークが欠かせません。
Googleは、Android用のUIテスト自動化のためのフレームワーク「Espresso」をテクノロジープレビューとして公開しました。
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分。
あわせて読みたい
Excelのテーブルを修飾ごとHTMLへ。数式も保持して表計算も可能なHTML/JavaScriptを生成する「Excel to HTML」。アドバンスソフトウェア
≪前の記事
オンプレミスでもデータベースは「サービス化」へ向かう。オラクル、DBaaS戦略へ