setup appium in windows for Android

#趣旨
windows環境でandroidスマホの実機テストを行う環境構築手順
構築は２通り。
- CUI
- GUI

GUIは起動、終了等非常に時間がかかるのでCUIがお勧め。
スマホの実機テストを手っ取り早く行いたい場合、windows x android x GUI構築で15分ほどで構築完了する
 
#準備するもの
-windows7 or 10 PC
-android 端末
-USBケーブル



#1. 共通設定

## JDK
### install
Java SE Development Kit 8 をdownloadして、インストールする

download
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

### 環境変数
環境変数に以下を設定する


<TABLE BORDER=1>
<TR><TH>変数</TH><TH>意味 </TH></TR>
<TR><TD>JAVA_HOME  </TD><TD>Javaのinstall path <BR> (ex. C:\Program Files\Java\jre1.8.0_171 )</TD></TR>
<TR><TD>Path </TD><TD>実行フォルダのパス <BR>(ex. %JAVA_HOME%\bin ) </TD></TR>
</TABLE>

### 実行確認
コマンドプロンプトを起動し、パスを確認する
```
java -version
```


## Android Studio
### install
Android Stduioをdownloadして、インストールする

https://developer.android.com/studio/?hl=ja

### 環境変数
環境変数に以下を設定する

<TABLE BORDER=1>
<TR><TH>変数</TH><TH>意味 </TH></TR>
<TR><TD>ANDROID_HOME</TD><TD>androidのSDKのinstall path <BR> 「File」＞「Other Settings」＞「Default Setting Structure…」の"SDK location"</TD></TR>
<TR><TD>Path </TD><TD>adb等の実行フォルダのパス <BR>(ex. %ANDROID_HOME%\platform-tools) </TD></TR>
</TABLE>


### 実行確認
コマンドプロンプトを起動し、パスを確認する
```
adb
```

## Android Deviceの設定
appiumからandroid deviceへ接続許可設定をする
1 開発者モードにする
<IMG SRC="https://qiita-image-store.s3.amazonaws.com/0/267085/f865ce9e-fa59-94f5-e4ca-72312909dd67.png" width=30%> ビルド番号を数回タップすると、デベロッパーモードに切り替わる

2 開発者向けオプションを開く
<IMG SRC="https://qiita-image-store.s3.amazonaws.com/0/267085/62a458c6-84e1-30b3-aadb-53e4b8906662.png" width=30%>

3 USB接続の設定
<IMG SRC="https://qiita-image-store.s3.amazonaws.com/0/267085/f1f0c513-1c35-f4cf-c843-efef2dd7f4af.png" width=30%>USBデバッグ、スリープモード非設定（※任意）をOnにする

4 USB接続
USBで接続後、android device側で接続承認の確認が出てくるので、OKにする。

5 adb server 起動
コマンドプロンプトを立ち上げて、以下コマンドを実行する
```
adb devices
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/267085/ae0db994-26b8-f2a4-6e2d-1b9ad40b572b.png)

これにより、接続したandroid deviceが正しく接続されていることを確認する



# 2 GUIによるappium構築
1 共通設定後、以下を実施する

## appium GUI版
### install
以下siteから"addoium をダウンロード"を選択し、appium-desktop-setup-x.x.x.exe をダウンロード
インストールする

http://appium.io/


### appium 起動
<IMG SRC="https://qiita-image-store.s3.amazonaws.com/0/267085/ca06ae6e-6b7e-1753-84b7-5217d1a66924.png" width=30%>特に何もなければ、そのままsimpleでパラメータそのままでstartする
<IMG SRC="https://qiita-image-store.s3.amazonaws.com/0/267085/9c12ed72-a950-1345-c314-1378a8be1eae.png" width=30%>
appiumに対してテストスクリプト環境からアクセスして疎通確認をする。
(Ex http://localhost:4723/wd/hub/status)

これでGUI版のappium構築は完了。



# 3 CUIによるappium構築
1 共通設定後、以下を実施する

## npm 
### install 
以下siteからwindows installerをダウンロードし、インストールする

https://nodejs.org/en/

nodejsのインストール画面にて、pathを合わせて設定してくれる。
実行できるかを確認する

```
npm -v
```

## python
appiumをinstallするときに必要となる
### install
以下siteからwindows installerをダウンロードし、インストールする
https://www.python.org/

### path
pythonをインストールしたパスを設定する
```
PYTHON
```

## appium
### install
コマンドプロンプトから以下コマンドを実行する

```
npm install -g appium
```

appiumのチェックコマンドもインストールする
```
npm install -g appium-doctor
```

### check
上記実施後、appiumの環境が整っているかを確認する
```
appium-doctor
```
<IMG SRC="https://qiita-image-store.s3.amazonaws.com/0/267085/784fe7bf-31bc-c5de-ffef-e018fc5c3ba1.png" Width=80%>

NGケースがある場合、それを改修することが望ましい


### run
実行する

```
appium
```

※起動オプションはこちら
http://appium.io/docs/en/writing-running-appium/server-args/
よく使うオプションとしては以下の通り


<TABLE BORDER=1>
<TR><TH>option </TH><TH>mean </TH></TR>
<TR><TD>-p xxxxx </TD><TD>port指定</TD></TR>
</TABLE>

<IMG SRC="https://qiita-image-store.s3.amazonaws.com/0/267085/4df7cfd3-73d2-6918-583d-e48700a86a68.png" width=80%>