Mac に Appium 環境を構築してみる2019夏

久しぶりに Mac に Appium 環境を作る機会があったので、手順をまとめてみました。

Appium Installation

brew

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew tap homebrew/cask-versions

see also:
https://brew.sh/index_ja

anyenv

$ brew install anyenv
$ anyenv install --init
$ anyenv init

see also:
https://github.com/anyenv/anyenv

rbenv

$ anyenv install rbenv
$ (exec $SHELL -l)
$ rbenv install -v `cat .ruby-version`
$ gem install bundler

see also:
https://www.ruby-lang.org/ja/
https://bundler.io/

nodenv

$ anyenv install nodenv
$ (exec $SHELL -l)
$ nodenv install -v `cat .node-version`

see also:
https://nodejs.org/ja/

jenv

Appium には Java8 が必要。ライセンス的にコマンドでJavaをインストールするなら以下のコマンドになる。

$ brew cask install adoptopenjdk8 

ライセンス的に jenv ではインストールができず、インストールされている Java の管理のみになる。

$ anyenv install jenv
$ (exec $SHELL -l)
$ jenv add $(/usr/libexec/java_home -v 1.8)

see also:
https://github.com/jenv/jenv

Android Studio

$ brew cask install android-studio

インストールが終わったら開いて必要なSDKやEmulatorをインストールする。特にEmulatorは「Intel x86 Emulator Accelerator(HAXM installer)」をいれて、x86版をいれておくとよさそう。x86_64版もあるけど上のアクセラレータが起動しない気もした。どっちが速いのかはまた調べる。

Xcode

iTuneからインストール。

一回開いて、サンプルプロジェクトを試しに作ってみると良さげ。

Appium

$ npm install

その他必要なもの

$ brew install ffmpeg
$ brew install carthage
$ brew install libiconv libxml2 libxslt
$ brew link --force libiconv libxml2 libxslt
$ gem install nokogiri -v 1.6.3.1 -- --with-xslt-dir=/usr/local/opt/libxslt --with-iconv-dir=/usr/local/opt/libiconv --with-xml2-config=/usr/local/opt/libxml2/bin/xml2-config --with-xslt-config=/usr/local/opt/libxslt/bin/xslt-config

Nokogiri のインストールは毎回つらい。

環境変数の設定

.bash_profile などで設定しておくとよさげ。

export JAVA_HOME=$(/usr/libexec/java_home -v `cat .java-version`)
export ANDROID_HOME=$HOME/Library/Android/sdk
PATH=$PATH:$ANDROID_HOME/platform-tools
PATH=$PATH:$ANDROID_HOME/build-tools
PATH=$PATH:$ANDROID_HOME/tools
export PATH

インストールしたものの確認

以下のコマンドで確認できる。全部いれなくてもよいので、必要なものをいれておく。

$ ./node_modules/appium-doctor/appium-doctor.js --ios
$ ./node_modules/appium-doctor/appium-doctor.js --android

テスト実行

サンプル用のGitHubプロジェクトを用意したので、試したい方はそちらをどうぞ。

リンク: サンプルプロジェクト on GitHub

Emulator / Simulator か実機を用意して以下を実行。

$ ./node_modules/.bin/appium
$ git clone https://github.com/daipresents/appium_ruby_sample.git
$ cd appium_ruby_sample
$ bundle install
$ bundle exec rspec spec/sample_spec.rb

UpdateはREADMEを更新していこうと思います。

リンク: README.md