TIPS > webdriverでandroidエミュレータを操作

  • ここではwebdriverを使ってandoridエミュレータを操作する手順をメモします。
  • 基本的にはこちらの手順に従っています。

環境

  • OSX 10.7.3
  • Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11D50b)
  • android-sdk_r16-macosx
  • ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
  • rubygems 1.8.10
  • gem selenium-webdriver (2.20.0)

Andoroidエミュレータ準備

  • こちらからandroid-sdkを落として解凍する
  • 解凍したディレクトリを適当な場所に置く
cp android-sdk-macosx /Applications/
  • ~/.bash_profileを編集してパスを通す
export PATH=/Applications/android-sdk-macosx/tools:$PATH
  • パスを反映する
source ~/.bash_profile
  • ターミナルでandroidと打ってAndoroid SDK Managerを起動する
  • プロキシを設定する場合は「Android SDK Manager」メニューの「環境設定」で設定しておく
  • Android SDK Mangerで以下をインストールしておく
    • Tools - Android SDK Platform-tools
    • Andoroid 4.0.3 (API 15) - SDK Platform
    • Andoroid 4.0.3 (API 15) - ARM EABI v7a System Image
  • 「Tools」メニューから「Manage ADVs」を選択しAndroid Virtual Device Managerを起動する
  • 「New」で新しいAVDを作成する
    • Max VM application heap sizeを256くらいにしないとエミュレータが正常に動作しなかった
  • 「Start」で作ったAVDを起動する
  • ~/.bash_profileを編集してパスを通す
export PATH=/Applications/android-sdk-macosx/platform-tools:$PATH
  • パスを反映する
source ~/.bash_profile

webdriver準備

  • 作成したAVDを起動しておく
  • serialIdを確認する
adb devices
  • こちらからandroid-server-XXX.apkをダウンロードする
  • ダウンロードしたapkをインストールする
adb -s <serialId> -e install -r  android-server*.apk
  • アプリケーションを起動する
adb -s <serialId> shell am start -a android.intent.action.MAIN -n org.openqa.selenium.android.app/.MainActivity
  • ポートフォワードを設定する
adb -s <serialId> forward tcp:8080 tcp:8080

rubyからの操作例

  • webdriverの準備までしておいて以下のプログラムを実行する
require 'rubygems'
require 'selenium-webdriver'

driver = Selenium::WebDriver.for :android
driver.navigate.to 'http://google.com'
driver.quit
最終更新:2012年03月20日 16:01