ひとまずはAndroid用に環境構築を行いました。
Appium自体はデスクトップ版とNode.jsのパッケージ版がありますが、
自動化を見据えてここではNode.jsのパッケージ版を使用します。(デスクトップ版はテストコードの作成の時にとても便利なのでインストールはしておいたほうが良いです。)
言語は今のところ以下の理由でJavaScriptTypeScriptを採用しました。(途中からTypeScriptに変更してます)
- Appium公式の入門ドキュメントで使用されていたから(手っ取り早くサンプルが動かせそうだったから)
- Appiumサーバ自体がNode.js上で動いているため、実行環境をわざわざ用意する必要がない
前提条件
- Mac OS
- ターミナル:zsh使用。bashの場合は読み替えが必要。
- Homebrewをインストール済み → Homebrewのインストール
- Android Studioインストール済み(SDKも)
- JDKインストール済み
- adbコマンドが使用できる(パスが通っている)
- Androidのエミュレーターが起動できる
環境変数の設定
ANDROID_HOMEとJAVA_HOMEの設定とPathを通します。(設定済みであれば読み飛ばす)
.zshrcファイルに以下を記載する
#ANDROID_HOMEの設定 ※各機の環境に合わせて差し替えが必要
export ANDROID_HOME=$HOME/Library/Android/sdk
#JAVA_HOMEの設定 ※各機の環境に差し替えが必要
export JAVA_HOME=/Path/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
#platform-toolsとJavaのbinにPathを通す
export PATH=$PATH:$ANDROID_HOME/platform-tools:$JAVA_HOME/bin
記載したらファイルを読み込む
$ source .zshrc
バージョン管理
appiumの本体をインストールするにはNode.js環境が必要なので、まずはNode.jsをインストールします。
複数人で作業する際はバージョンが異なることで挙動が変わることがあるので、バージョン管理をインストールします。
インストール手順はこの記事を参照
ただし、nodebrewはインストールせずに、anyenvとnodenvをインストールします。
Node.jsのインストール
# nodenv install 18.3.0
# nodenv rehash
# nodenv versions
18.3.0
# nodenv global 18.3.0
# npm -v
8.11.0
プロジェクトの作成
Appiumでの自動テストを行うためのプロジェクトを作成する
適当なディレクトリを作成する(ここではHome/WorkSpace/appium-test)
~ $ mkdir WorkSpace
~ $ mkdir WorkSpace/appium-test
appium-testフォルダに移動する
$ cd WorkSpace/appium-test
~/WorkSpace/appium-test $
プロジェクトの初期化
~/WorkSpace/appium-test $ npm init -y
するとappium-testフォルダ内にpackage.jsonファイルが作られる
package.json
{
"name": "appium-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
Appiumのインストール
Appiumの本体(appium)とAppium環境をチェックするためのパッケージ(appium-doctor)をインストールする
AppiumとAppium-doctorのインストール
npmを介してappiumとappium-doctorをインストールする。
$ npm install appium appium-doctor
実行すると、
node_modulesフォルダが作成され、package.jsonの"dependencies"の項目にappium,appium-doctorの項目が追加される。
package.json
{
"name": "appium-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"appium": "^1.22.2",
"appium-doctor": "^1.16.0"
}
}
appium-doctorerを実行
appiumとappium-doctorのインストールが完了したら、appium-doctorを実行してAppium環境をチェックする。
※node_modules/.binにコマンド実行用のスエイリアスファイルができるため、これを叩く。
~/WorkSpace/appium-test $ node_modules/.bin/appium-doctor --android
今回は Android環境の構築なので--androidオプションを使用しています。※iOSの場合は--ios、何も指定しなければ両OSの環境がチェックされます。
「### Diagnostic for necessary dependencies starting ###」の項目に全てにチェックがついていればOK。(恐らく上記の手順を実施していれば全てにチェックがついているはず)
「### Diagnostic for optional dependencies starting ###」はオプションなので❌でも問題はない。必要であればインストールする。
Appiumを起動してみる
~/WorkSpace/appium-test $ node_modules/.bin/appium
無事、Appiumのサーバーが起動した
![image.png](https://image.docbase.io/uploads/9520a40b-41c0-446e-8611-329905bfbcb1.png =WxH)
とりあえずAppiumのインストール、起動まで完了です。
↓続き