Magic Pod環境構築(Android編)

#はじめに#
Magic Podの環境構築を投稿するきっかけについて
自動テストを始めるにあたって、初心者でも簡単に操作できる自動化テストツールの1つとして、
社内で勧めている自動化テストツールだったからです。

また、環境構築を理解できると導入が楽になり、
かつ自身のスキルアップの為に投稿させていただきました！

Magic Podはクラウド上のシュミレータを使用して操作することもできますが、
今回は、Magic Pod×実機端末(Android)の環境構築を説明させていただきます～

<font color="red">※環境構築(iOS編)はまた別の機会に投稿させてください<(_ _)></font>


***
#Magic Pod環境構築#

■環境構築に必要なもの
<font color="red">※実機端末をテスト対象とする場合の環境構築手順です。クラウド端末をテスト対象とする場合は、当該手順は不要です。
別途アカウント登録が必要ですが、現時点(2020_1210)でMagic Podは無料でお試しすることが可能です。</font>
[Magic Pod新規登録](https://magic-pod.com/home/)

【Android、iOS共通】

|環境設定|必要な機材とアプリ|詳細|
|:---|:---:|:---:|
|①実行用PC|PC|Mac (iOS ver10.15.2以上)|
|||※Xcodeのダウンロードのため、Catalina以降のVerが必須|
|||<font color="red">※1_Windowsは未対応です。</font>|
||Webブラウザ|Chrome(49以上)|
|②その他|端末接続用USBケーブル|データ通信可能なもの|
||外線LANケーブル|<font color="red">※回線状況によりツールのダウンロードに時間がかかる場合がある為、必要に応じて外線LANケーブルなどを用意すること。Java(1日)とXcode(1日)のダウンロードに約2日程掛かる場合がある</font>|
||Magic Pod Desktopアプリ|ローカルPCでのテスト実行には「Magic Pod Desktop」が必要|



<font color="red">※1：TRIDENT社がMac PC + Android実機上でのセットアップ手順について説明しており、Windows PCは未対応の為

【Android】

|環境設定|必要な機材とアプリ|詳細|
|:---|:---:|:---:|
|①実機|Android実機|Android OSバージョン11.0～14.2|
|②テスト対象アプリ|apkファイル・端末インストール済アプリ|ネイティブアプリ・ハイブリッド(WebView)アプリ※2Flutterアプリ、Unityアプリには未対応です。|

<font color="red">※2：テスト対象アプリについて、端末にインストール済アプリまたはapkファイルのどちらかが準備できていればOK

■Magic Podの環境構築×PC(Mac)×実機端末(Android)
Magic Podを開発したTRIDENT社の下記URLリンクにセットアップ内容があります。
セットアップ内容の記載がありますが、抜粋して説明していきます。
自分で環境構築を試してできた結果の為、他の環境構築方法もありますので参考程度に見て下さい～
>[Magic Podの使い方](https://www.trident-qa.com/magic-pod-help/)**のドキュメントになっており、
Magic Podの環境構築が上手くいかない場合は、こちらも合わせて参照して下さい**


■Androidの環境構築で準備するもの
1.Java
2.Android Studio SDK一式(tools、platform-tools、build-tools、API)
3.実機端末設定(Android)
4.Magic Pod Desktopのセットアップ
5.Magic Pod&Android端末の接続確認
※自身のPC環境を使用し説明していますので、一部赤枠などでぼかしを入れてます(+_+)

***
#1.Java#
##・**Javaのダウンロード/インストール**
Magic PodではJava8または9が推奨されていますので、今回Java8のインストールを行っていきます。
また、OracleJDKからインストールする場合アカウント作成が必要となる為、
今回はアカウント不要の下記Java8(OpenJDK)インストーラーリンクからインストールしていきます。![Android Studioのダウンロードファイル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/41f19c9f-f863-5af5-e0fd-541c986fcf8d.png)


[OpenJDKファイルのダウンロード/インストール方法](https://sukkiri.jp/technologies/processors/jdk/adoptopenjdk11-mac_install.html)
[Java8(OpenJDK)インストーラーリンク](https://adoptopenjdk.net/releases.html?variant=openjdk8&jvmVariant=hotspot)

赤枠の「Chexksum(SHA256)JDK-105MB」pkgからダウンロードしてインストールをお願いします。
![OpenJDK8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/fc8be3e6-adec-3abd-e2ee-c43719f659f8.png)


インストール完了後、ターミナル上で「Java -version」を入力して、
下記の赤枠バージョン情報「1.8.<font color="red">X_XXX</font>」が表示されたらインストールOKです！

![OpenJDK8バージョン確認.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/34b8320c-2f45-cc12-7d24-ae458f3c89b2.png)





***
#2.Android studio#

##・**Android Studioのダウンロード**
[Android Studioのインストーラー](https://developer.android.com/studio/index.html#downloads)

今回MacPCで環境構築となりますので、OS別にインストーラーをダウンロードします。
まず、赤枠のMac(64-Bit)のAndroid Studioファイルをダウンロードします。

![Android Studioのダウンロードファイル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/996107ec-5404-f1c0-f929-54d8f58b82d9.png)

##・**Android Studioのインストール**
[Android Studioのインストール方法](https://akira-watson.com/android/adt-mac.html)

##1-1、Verify Settings画面
インストール手順を実施する場合、テキストなどに保存してほしいポイント
<font color="red">SDK FolderとJDK Location</font>の格納先を修正する場合があるので、
パスをテキストなどにコピーしておきましょう。

![SDK_JDKのフォルダパス.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/0f0a830a-e747-0afc-c927-c4525382f5b0.png)


##1-2、Android Studio確認画面
![Android Studioインストール完了.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/38017f7c-161e-79fe-4a60-0e3846e9e6dd.png)

インストール後、Android Studioアプリが起動して
上記画面が表示されればAndroid Studioアプリのインストール完了！

最後に、SDKツールの下記4つがインストール済みか確認し、されていない場合はインストールします。
〇SDKツール確認手順
1．Configureを選択
2．SDK Managerを選択
3．左記リストのAndroid SDKが選択されていることを確認
4．「SDK Tools」タブを選択し下記4つのツールが、
インストール済みであればOK
インストールされていない場合は4つのツールを選択し「Apply」で実行

〇4つのSDKインストール
・Android SDK Build-Tools
・Android Emulator
・Android SDK Platform-Tools
・Android SDK Tools(Obsolete)※


1、「Configure」ボタンを選択
![AndroidStudio1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/a5ea733b-8c25-c542-12c6-c345f982948d.png)
2、「SDK Manager」ボタンを選択
![Android Studio2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/19836195-82f3-533a-8899-32cda7fb4507.png)
3、Android SDKリストが表示されていたら、4つのSDKツールがインストールされているか確認。
インストールされていない場合は、選択して「Apply」でインストールして完了となります。
<font color="red">※一部のツールが非表示設定の為、
「Hide Obsolete Packages」を押下して解除すれば表示されます。
![Android Studio3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/6143e5e6-bde5-66cc-53d4-2ead36bd320c.png)

***
#3.実機端末設定(Android)#
<font color="red">TRIDENT社のセットアップ内容から抜粋。
[Android開発向けオプション設定](https://www.trident-qa.com/magic-pod-android-set-up/#sec3)

##・実機端末の設定方法
1、端末の「設定」を選択
2、続いて「端末情報」を選択
3、表示された「ビルド番号」を7回タップする
4、設定リストに「開発向けオプション」表示されたら選択。
5、設定内容が表示後、「開発向けオプション」設定を「ON」にする。

![DevOption.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/91a53b91-89ce-50cb-6dff-8fe5b90e3cf2.png)

・開発向けオプションの設定方法	
「https://www.trident-qa.com/magic-pod-android-set-up/#sec2」
要約すると、接続端末の開発者向けオプションから、下記３画面の設定ができているか確認します。
1、「開発者向けオプション」「スリープモードにしない」「USBデバッグ」をONにする。
2、「ADBでインストールしたアプリの監視」(「ADB/ADT経由でインストールされたアプリに不正な動作がないかを確認する」という項目名の場合もあります)をOFFにする。
3、「ウィンドウアニメスケール」「トランジションアニメスケール」「アニメーター再生時間スケール」の値を「アニメーションオフ」にする。		
<font color="red">※端末によって設定記載内容が異なります。</font>
![Android端末設定2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/a892b4d2-e3c6-7e84-3816-54dd95cfeaf4.png)

##・USBケーブル
<font color="red">TRIDENT社のセットアップ内容から抜粋。</font>
Android端末とPCのUSB端子をつなぐUSBケーブルを用意する必要があります。
[こちらの画像](//www.google.co.jp/search?q=Android+USB%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjrzf_HlZ7TAhVFS7wKHepzD244ChD8BQgGKAE&biw=1168&bih=662)にあるような形のものを用意してください。
おそらくAndroidの充電ケーブルを流用できると思います。
テスト実行時には、このケーブルを使ってPCから端末を操作します。
***
#4.Magic Pod Desktopアプリのセットアップ
1、下記リンクから最新のMagic Pod Desktopをダウンロードします。
https://www.trident-qa.com/magic-pod-desktop-download/
2、ダウンロードしたzipファイルをダブルクリックして解凍し、できた「Magic Pod Desktop」を「アプリケーション」フォルダに配置します。
3、

***
#5.Magic Pod & Android端末接続設定#
**Magic Pod×実機端末の接続方法**
MagicPodの接続設定_2パターン(①端末側アプリイントール済/②apkファイル)
【①端末側アプリインストールの場合】
GoogleブラウザからMagicPodにログインしてテストケースを開き、
Magic Pod接続設定を下記の通り設定します。
[Magic Podログイン](https://magic-pod.com/accounts/login/)

〇端末接続設定
環境:ローカルPC
OS:Android
アプリ種別:パッケージ/アクティビティ(※自動取得)
1、上記の接続設定が完了したら、設定枠以外をタップして接続設定を反映する。
2、設定完了後、右上の「接続/再接続」または「端末」アイコンをタップする。
![COCOAアプリ1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/4166e3ee-7fcd-674f-9041-45bfae8d7fa2.png)
3、暫くすると、下図のMagic Pod Desktopセットアップが表示されるので、
Magic Pod Desktopアプリをインストールしてから再度接続して下さい。
※MacにMagic Pod Desktopアプリをインストール後、アプリケーションフォルダに格納します。

4、Magic Pod Desktopが起動したら、下記の赤枠にターミナル上で設定した、
Javaの環境変数を入力後、アプリを閉じて設定が反映されているか再起動して確認
[Java環境変数]
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home
![Java環境変数設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/cda32f80-8171-4a26-e971-ce283ddce99f.png)
5、問題なく接続できていたら、Consoleタブに「端末に接続しました。」が表示されます。
これで実機端末×Magic Podの接続完了です！

①アプリ種別のAppパッケージ/Appアクティビティの取得方法
1、端末側のテストしたいアプリ(WDJ)を起動させる。
2、Magic Pod起動後、「アプリ情報を取得」ボタンがアクティブになるので押下する。
※Appパッケージ/AppアクティビティはMagicPod_Desktop接続後、上記の「アプリ情報を取得」を押下すると自動入力されるのでSkip

【②apkファイルの場合】
GoogleブラウザからMagicPodにログインしてテストケースを開き、
Magic Pod接続設定を下記の通り設定する。
[Magic Podログイン](https://magic-pod.com/accounts/login/)

〇端末接続設定
環境:ローカルPC
OS:Android
アプリ種別:APKファイル
APKファイルを準備済みの場合
→フリーのAPKファイルダウンロードサイトから準備
「参考用のAPKファイルダウンロード先」
https://apkpure.com/jp/
※APKファイルについては利用可能なものを準備すればOKです！(※サンプルはCOCOAアプリ)

APKファイルを取得していいか確認
1、準備したAPKファイルの格納先パスを、「APKファイルのフルパスを入力」に設定する
例)C:\Users\XXXX\Desktop\COCOA COVID 19 Contact App_v1.2.0_apkpure.com.apk
![COCOAアプリ3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/0096c93b-ec8c-0093-829b-0d0890aff542.png)
2、上記の接続設定が完了したら、設定枠以外をタップして接続設定を反映する。
3、設定完了後、右上の「接続/再接続」または「端末」アイコンをタップする。　

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/55e12114-8ccb-9f84-7cce-f69db6d443fb.png)
4、Magic Podの接続完了後、お試しでキャプチャ画面を取得する為、右上の「新しいUI追加」ボタン押下して画面を切替後、
「デスクトップアプリでUIをキャプチャ」を押下する
![COCOAアプリ4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/bdac7239-9a3a-f438-9e89-d2556f0e3ce6.png)
5、右側のUI一覧画面に、実機端末の任意のキャプチャ画面が取得できればOKです！
試しにテストケースを作成して実行が成功するか確認してみましょう～
以上で、Magic Pod環境構築(Android編)は完了ですお疲れ様でした(^^)/
![COCOAアプリ5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/874439/859294ff-303d-233b-951f-3dcf13f096e9.png)


***
##・**【よくあるトラブル集】**
(https://www.trident-qa.com/magic-pod-frequent-troubles/)
[接続がうまくいかない場合の対処法]
・接続系
1、実機端末及びアプリ、Magic Pod及びMagic Pod　Desktopアプリを再起動し直す
2、ツールをインストールする順番に気を付ける(※ツール同士の連携がうまくいかない)
〇:Homebrew → Java → Android Studio → Magic Pod Desktop
✕:Homebrew → Java → Magic Pod Desktop → Android Studio

・コマンド入力関連
1、環境変数の入力が合っているか
→例)JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents<font color="red"> \ </font>Home
ディレクトリ階層の区切りが「/」ではなく<font color="red">「\」</font>が誤って入ってないか
2、ターミナルのzsh入力のコマンドに空白を入れているか
〇：touch .zshrc
Ⅹ：touch.zshrc