LoginSignup
30
32

More than 5 years have passed since last update.

Appium入門(Android編)

Last updated at Posted at 2014-08-27

はじめに

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でも、どちらでも可。
AppiumGUI.png
GUIを利用する場合、事前準備で解凍したAppiumフォルダ内のAppium.exeを立ち上げて、
右上のロケットアイコンをクリックすればOKです。(設定等いじる必要なし)

Androidエミュレーターを起動します
AVDを使っても良いのですが、Genymotionの方が圧倒的に動作が速く、安定しています。

動作させます

test.rb
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という便利アイテムがあるので、
そちらを利用してみてください。
UIAutomatorViewer.png
使い方は至極簡単で、Androidエミュレーター使用中に、Viewerでスクリーンショットを取ってみてください。
そうすると、上記画像の様にUIの解析ができます。
画像はUI Automator Viewerですが、Hierarchy Viewerでも、ほとんど同じことができます。

30
32
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
32