本稿は下記を参考にしています.
- SeleniumのUIテスト自動化をiOS/AndroidにもたらすAppiumの基礎知識とインストール方法、基本的な使い方
 - Github - AndroidAppsTestAutomationSamples
 
Appiumは各ベンダ(Google, Apple)がリリースしているUI Testing Frameworkをラップした統一APIを提供してUIテストを可能にするもの. 
これにより, iOSのテストケースをAndroidでも流用できるといったアドバンテージがある 
(UI構成が違えばテストケースの流用は難しい)  
AppiumがラップするUI Testing Frameworkは下記.
- iOS: Apple’s UIAutomation
 - Android 4.2+: Google’s UiAutomator
 - Android 2.3+: Google’s Instrumentation.
 
確認環境は下記.
- Android 5.0
 - Appium 1.4.13
 
注意点
Appiumはプロダクトのバイナリ(.apk)があればテスト可能だが, テスト対象アプリで準備が必要な点がある. 
Android4.4以降でWebViewをテストする場合はWebViewのデバッグオプションが, Android4.1以前で動作する場合はINTERNETパーミッションが必要になる. 
WebView
Android4.4からWebViewはChromiumベースに変更された. 
テスト対象アプリをKitKat以上 かつ WebViewをテスト対象に含む場合は下記を実施する必要がある. 
// WebViewをテストする場合は下記をWebView使用前に実施しておくこと.
WebView.setWebContentsDebuggingEnabled(true);
参考: 
 - Remote Debugging on Android with Chrome 
 - Appium - AUTOMATING HYBRID ANDROID APPS
Apptium or Selendroid
Androidのバージョンによって動作するモードが異なる.
- Android 4.2+: Google’s UiAutomator
 - Android 2.3+: Google’s Instrumentation. (Instrumentation support is provided by bundling a separate project, Selendroid)
 
これはAppiumが使用するライブラリのサポート範囲に依存している. 
Selendroid modeで確認する場合, テスト対象のアプリにINTERNETパーミッションを宣言する必要がある. 
<uses-permission android:name="android.permission.INTERNET" />
参考:  
 - Appium - ANDROID SUPPORT 
 - Appium - Notes
Launch Appium server
Appiumをダウンロードする. 
今回はAppium 1.4.13を選択. ダウンロードしたらAppiumを起動. 
参考: Appium GUI
Appium GUIで下記を実行してAppiumサーバを起動する.
- Android Setting(Droid icon) - App Path にテスト対象のapkのパスを入力
 - Android Settingを閉じて Launch
 
TestCase
Appiumはテスト対象アプリの操作に特化したツールであるため, アサーションなどの機構は別で用意する必要がある(Productionコードは必要無い).  
今回は別プロジェクト(module)を作成してJUnitでテストスクリプトを書いた. 
テストコードに必要なライブラリは下記.
dependencies {
    // Appiumクライアントライブラリを利用するための宣言
    testCompile 'io.appium:java-client:2.1.0'
}
テストの実行結果はbuild/reports/testsに出力される.  
補足: io.appium:java-client:は3.3.0がリリースされていたが, hamcrestなど依存ライブラリが変わっている様子. 今回は動作確認目的のため2.1.0で実施. 
以上.