はじめに
AppiumのGetting Startedを進めていたのですが思ったよりも動かすのに苦労したので手順をまとめておきました。
GettingStartよりも簡単に動く(はず!)
環境
私が用意した環境は以下の通り
- node v16.16.0
- npm 8.11.0
- Java 11
- Android Studio 2021.2.1
AndroidStudioのセットアップ
こちらに従ってインストール・セットアップを済ませます。以下が動くことを確認してください。
- adbコマンド
- appiumを動かすときにadbコマンドを利用するため必要になります
- エミュレータの起動
- ひとまずなんでもOKです。
Appiumのインストール&起動
npm install -g appium
正しくインストールできたか否かはappium-doctorをインストールしてappium-doctorコマンドを実行します
npm install -g appium-doctor
appium-doctor --android
appiumを起動します
appium
うまく起動すると以下のようなログが出力されます
C:\Users\uzres\products\appium-sample\appium-java-sample>appium
[Appium] Welcome to Appium v1.22.3
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
エミュレータを起動します
公式で提供しているサンプルアプリケーションはAndroid Version 8(古い・・・)で動くものなので起動する手順に注意が必要です。
DeviceManager - Create deviceを選択します
Pixel3aを選択してみました
Android 8はOreoなのでこれを選択します。(ダウンロードしていない場合はダウンロードします)
名前を適当に変更してFinishを選択します。
作ったエミュレータで再生ボタンを選択します。
端末が起動してくるはずです
テストの実行
今回はアプリをインストールし、TOPページのスクリーンショットを撮ってみます。
ソースはこちらからcloneしてください。
公式が提供しているサンプルアプリをダウンロードしappium-java-sample/src/test/resources/apps
に保存します
テストを実行します。エミュレータを見ていると実際にappiumが動いてる様子が見れるはずです。
jp.gr.java_conf.uzresk.appium.sample.FirstTest
ルートディレクトリにscreenshot.jpg
ができていれば成功です。
補足
エミュレータにアプリを手動でインストール
adbコマンドでインストールが可能です。エミュレータに正しくインストールできるか確認してもよいでしょう。
adb install ApiDemos-debug.apk
アクティビティ起動失敗時のトラブルシューティング
エミュレータでDiskが一杯
appiumを動かしていると以下のようなエラーが発生
android.os.ParcelableException: java.io.IOException: Requested internal only, but not enough space
Emulatorを停止し、「WipeData」をクリックするとデータを消せる。
(Emulatorはウィンドウの×ボタンを押せば止まります)