AppiumでAndroidアプリを自動テストする用の環境作成
注※Qiitaからの転載です(もちろん書いた本人です)
はじめに
まとまっているところがなかったので作成しました。
自分用備忘録兼ねてます。
使用技術
macでの開発を想定しています。
zsh使用してるので、bashの方は適宜読み替えてください。
Main(必須)
- Xcode
- Homebrew:性質的にはsubだけどないと始まらないのでmainに入れてます
- Ruby
- Node.js
- Java
- Android Studio
- Appium
- WebdriverIO
js fremework
- mocha + chai
Sub
- enyenv:env系管理
- rbenv:ruby管理
- nodenv:node管理
- jenv:java管理
環境作成
-- First Step --
001 Xcode install
AppStoreから。App版のテストで必要なのと、Homebrew入れるのにどうせ必要なので入ってない方はこの瞬間入れてください。結構時間かかります。
入れ終えたら一度起動してXcode Command Line Tools
をinstallしておきます。
002 Homebrew install
最新のスクリプトを
下記は2019.11.11時点のもの。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
ターミナルで実行。
出てきた文言に従いましょう。
-- Second Step --
各言語のversion固定で変更しないとかだと要らないStep。
アップデート追従がとても大変なので入れておいたほうがいいでしょう。
ここを飛ばす場合は、
- ruby 2.5.0
- node 12.10.0
- java 1.8.0
を適宜入れてください。
003 anyenv install
$ brew install anyenv
$ anyenv install --init
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc
$ anyenv init
004 rbenv install
$ anyenv install rbenv
$ (exec $SHELL -l)
$ rbenv install -v 2.5.0
$ gem install bundler
005 nodenv install
$ anyenv install nodenv
$ (exec $SHELL -l)
$ nodenv install -v 12.10.0
006 jenv install
AppiumにはJava8が必要です。
コマンドでJavaをインストールするなら以下のコマンドになります。
ライセンスの絡みがあるので詳しくは調べてください。
brew cask install adoptopenjdk/openjdk/adoptopenjdk8
※Javaは色々プロジェクトあるみたいなんですけどどっちがどうとかはわからないです。。。
ライセンス的にjenv経由ではインストールができません。インストールされているJavaの管理のみになります。
$ anyenv install jenv
$ (exec $SHELL -l)
$ jenv add $(/usr/libexec/java_home -v 1.8)
-- Third Step --
007 Android Studio install
$ brew cask install android-studio
install後、起動して適当なプロジェクト作成してSDKとgradleを入れておきます。
008 Add PATH
.zshrcに追加します。
ANDROID_HOMEは各機の環境に差し替えてください。
# ANDROID_HOMEの設定
export ANDROID_HOME=/Users/User名/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
# JAVA_HOMEの設定
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=${PATH}:$JAVA_HOME/bin
### etc...
PATH=$PATH:/usr/sbin
009 Appium install
AppiumとAppiumのチェック用のappium-doctorをglobalにinstallします。
npm install -g appium appium-doctor
010 Add etc...
Appiumで必要なもの色々。
cmakeが初期では入ってないので入れてます。
brew install cmake
globalに各種入れていきます。
opencv4nodejsはインストールに時間がかかります。
※画像処理に関する様々なアルゴリズムが簡単に使えるオープンソースライブラリ
npm i -g opencv4nodejs
※動画や音声を加工するツール
brew install ffmpeg
※動画圧縮の形式
npm i -g mjpeg-consumer
wgetが初期ではないので追加します。
brew install wget
※Androidアプリバンドルを操作するためのツール
$ mkdir ~/bin/
$ cd ~/bin/
$ wget https://github.com/google/bundletool/releases/download/0.10.3/bundletool-all-0.10.3.jar
$ ln -s bundletool-all-0.10.3.jar bundletool.jar
$ chmod a+x bundletool-all-0.10.3.jar
PATH追加
# bundletoolの設定
export PATH="$PATH:$HOME/bin/"
011 check appium-doctor
appium-doctor --android
オールグリーン「Everything looks good, bye!」が出たらOK。
出なかったときは頑張って
-- Fourth Step --
このstepはなくても動きます。
012 download standalone appium
なにかと便利なので。
Edit CongigurationsよりANDROID_HOMEとJAVA_HOMEの設定をお忘れなく。
スタンドアロンは自身の設定を見ます。
-- Fifth Step --
テストプロジェクトの作成をします。
前提として
- 実機テスト
- テスト対象アプリは実機にインストール済み
- 実機は開発者モード + USBデバッグON
とします。
013 create project folder
好きな場所に作ったあとcd
でそのフォルダに入ってください。
以下例。
mkdir /projects/test-sample/
cd /projects/test-sample/
014 webdriverio install
$ npm init
$ npm install --save-dev webdriverio
$ npm install @wdio/cli
015 create config
$ npx wdio config
環境作成おわり。
おわりに
気力が湧いてきたらプロジェクト設定やらテストやらも書きます。
つかれたよー。
Discussion