#はじめに
Appiumの使い方が良くわからない人の為に、
とてもお手軽にAppiumを利用できる方法をまとめました。
慣れた人なら1時間かからずに使用感を確認することができるはずです。
#事前準備
- ここではWindowsを利用していますが、Macでも試せます
- Appiumのダウンロードと解凍、できるひとはインストール
- Android SDKのダウンロードとインストール
- Androidのエミュレーターのインストール(Genymotionがおすすめ)
- Rubyをインストール
- Gemを2個インストールしておく
- テスト用のapkファイルを何かダウンロードしておく
- ここでは、Appiumの公式チュートリアルに含まれているNotesアプリを利用します。
- ttp://appium.s3.amazonaws.com/NotesList.apk
- (Sauce Labs提供なので、問題があった場合は別なアプリを探します)
↑この辺りのやり方は検索してみてください。
わかりやすいドキュメントが沢山ヒットします。
#手順
Appiumを起動します
GUIでもCUIでも、どちらでも可。
GUIを利用する場合、事前準備で解凍したAppiumフォルダ内のAppium.exeを立ち上げて、
右上のロケットアイコンをクリックすればOKです。(設定等いじる必要なし)
Androidエミュレーターを起動します
AVDを使っても良いのですが、Genymotionの方が圧倒的に動作が速く、安定しています。
動作させます
require 'selenium-webdriver'
require 'appium_lib'
opts = {caps: {deviceName: :android,
platformName: :android,
app: 'C:\appium_workspace\NotesList.apk', #apkのパス、自身の環境に合わせてください
appActivity: 'NotesList'}}
driver = Appium::Driver.new(opts).start_driver
driver.find_element(:id, "com.example.android.notepad:id/menu_add").click
driver.find_element(:id, "com.example.android.notepad:id/note").send_keys("Appium")
driver.find_element(:id, "com.example.android.notepad:id/menu_save").click
driver.quit
上記コードの実行で、Androidエミュレーター上でメモ帳アプリが立ち上がり、
「Appium」と書かれたメモが保存されるはずです。
#解説
Appiumを利用することで、Webブラウザの自動操作とほぼ変わらない感覚で、
ネイティブアプリの自動操作が実行できます。
後はお好きなテストフレームワークと組み合わせて頂ければ、
ネイティブアプリの自動テストができてしまいます。
appActivityの探り方
AndroidManifest.xmlにactivityが記載されているので、そこから探してください。
UI elementの探り方
Android SDKのtoolsフォルダの中に、
hierarchyviewerやuiautomatorviewerという便利アイテムがあるので、
そちらを利用してみてください。
使い方は至極簡単で、Androidエミュレーター使用中に、Viewerでスクリーンショットを取ってみてください。
そうすると、上記画像の様にUIの解析ができます。
画像はUI Automator Viewerですが、Hierarchy Viewerでも、ほとんど同じことができます。