検索
連載

Androidテストで便利なuiautomatorviewer、UiScrollableの使い方、テキスト入力API制限事項の回避方法スマホ向け無料システムテスト自動化ツール(3)(1/4 ページ)

本連載では、スマートフォン(Android/iOS)アプリ開発における、システムテストを自動化するツールを紹介しています。今回は、Android SDK標準の何でもテストツールuiautomatorの使い方の応用編として、uiautomatorviewer、UiScrollableの使い方、テキスト入力API制限事項の回避方法などを紹介。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

Android SDK標準の何でもテストツールuiautomatorの使い方【応用編】

「スマホ向け無料システムテスト自動化ツール」のインデックス

連載目次

 今回は「uiautomator(応用編)」として、uiautomatorをより便利に使うためのさまざまなノウハウについて説明します。

 uiautomatorの基本的な使い方および、本記事で紹介しているテストスクリプトのセットアップから実行までの方法については、前回記事「Android SDK標準の何でもテストツールuiautomatorの基本的な使い方」を参照してください。

 なお、本記事で利用するサンプルアプリとuiautomatorのテストスクリプトは以下のリポジトリで公開しています。

uiautomatorviewer:画面上のコンポーネント構成を調べる便利ツール

 uiautomatorのテストスクリプトで、UIコンポーネントを特定するための条件は、アプリの画面を見だけでは分からないケースがあることを、前回の記事で触れました。

 Android SDKに付属しているuiautomatorviewerを使うと、テスト対象アプリのソースやレイアウト定義を参照することなく、画面上のコンポーネント構成を調べることができます。

 ここでは、サンプルアプリの詳細画面のコンポーネント構成を実際に調査してみましょう。

調査したい画面の準備

 最初に、テストを実行したい端末上で、調査したい画面を表示させる必要があります。ここでは、テスト対象となるサンプルアプリの「詳細画面」を表示させてみましょう。


サンプルアプリの詳細画面

 次に、その端末をUSBケーブルなどでPCに接続し、adb(Android Debug Bridge)で認識された状態にしておきます。

uiautomatorviewerツールの起動と画面情報の取得

 以下のコマンドを実行すると、uiautomatorviewerツールが起動します。

$ uiautomatorviewer

uiautomatorviewer起動画面

 ツールバーにある「Device Screenshot (uiautomator dump)」ボタン(下図の赤枠部分)を押すことで、adb接続されている端末の画面情報を取得できます。


uiautomatorviewerのDevice Screenshotボタン

 端末の画面情報の取得が成功すると、uiautomatorviewerツールの三つのペインに、取得した情報が表示されます。

 左側のペインには取得した端末の画面スクリーンショットが表示されます。

 右上のペインにはUIコンポーネントのツリー構造が表示されます。「Expand Allボタン」を押すことで、閉じたツリーを全て展開することもできます。


Expand Allボタン

 右上のペインから調査したいUIコンポーネントを選択すると、右下のペインに選択したUIコンポーネントの属性の一覧が表示されます。左側の画面スクリーンショットから、調査したいUIコンポーネントを選択することもできます。


uiautomatorviewerの画面情報取得後の画面

 この画面は、名前入力欄を選択したときのものです。名前入力欄のcontentDescription属性(ツール上の表記はcontent-descと省略されています)が「name textfield」であることが分かります。

コラム「DDMSからuiautomatorviewer相当の機能を使える」

 EclipseやAndroid Studioでも、DDMSからuiautomatorviewer相当の機能を使えます。

 端末の画面情報を取得するには、DDMSの[Devices]ビュー上にある、iautomatorviewerと同じ絵柄のアイコンのボタンを押してください。


DDMSのDevice screenshotボタン

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る