Jenkins + Genymotion で Android なテストをしたメモ

Jenkins での自動テストで、Android エミュレータの代わりに Genymotion を使用して自動テストをする場合のメモ。CI 環境については前エントリをご覧下さい。

Genymotion で仮想端末を作った後にやること

  • [設定]-[セキュリティ]-[提供元不明のアプリ]を オン にする
  • [設定]-[セキュリティ]-[アプリを確認する]を オフ にする

Jenkins ジョブ設定

  • ビルド環境の "Run an Android emulator during build" を オフ にしてエミュレータを使わないようにする。
  • ビルドの前処理として adb 経由で Genymotion へ接続する以下のようなシェルを作って置き、呼び出す。(adb root しないとテスト結果を pull できないので注意)
#!/bin/sh
# genymotion_connect.sh
adb start-server
adb connect 192.168.56.101
adb root
  • ビルドの後処理として adb 経由で Genymotion から切断する以下のようなシェルを作って置き、呼び出す。
#!/bin/sh
# genymotion_disconnect.sh
adb disconnect 192.168.56.101

Jenkins ジョブを開始する前にやっておくこと

  • Oracle VM VirtualBox 起動
  • Genymotion 起動
  • Genymotion の仮想端末を起動 (Play) しておくこと

※起動しっぱなしにする必要があるのでログアウト方法に注意する