このページでは、主に開発者の方のために、より高度なMagicPodのトラブル調査方法を説明します。
目次
1.ブラウザ側
・ロケータのチェック
テスト編集画面の画面キャプチャ上でUI要素をクリックし、要素情報を編集するポップアップを表示します。すると、図1のようにUI要素に対応するロケータ情報を確認できます ((画面キャプチャを直接ブラウザにドラッグ&ドロップしてスキャンした画像の場合は、ロケータ情報は確認できません。)) 。また、このページで、利用するロケータを他の候補に変更することも可能です。

図1 ロケータの確認
・失敗時のUIツリーの確認
テストが失敗すると、テスト結果画面に「失敗時のUIツリーを表示」というリンクが表示されるので、これをクリックしてテスト失敗時のUIツリーを確認できます。(図2)
図2 失敗時のUIツリー
・詳細なログの出力
テスト対象指定パネルの「詳細」>「ログレベル」を「エキスパート」にすると、ログの出力が詳細になります。(図3)

図3 ログレベルの指定
「MagicPodバグ調査」にするとさらに詳細になりますが、かなり動作が遅くなり、大量のログが出るようになります。これはMagicPodサポートチームに依頼された時以外には使用せず、ログ取得が終わったらすぐにレベルを「ビギナー」か「エキスパート」に戻しておいてください。
・開発者ツールのコンソール
MagicPodのページが予期しない動作(テストが保存されない等)をした場合は、Chromeのメニューの「その他のツール」>「デベロッパーツール」から開発者ツールを開き、「Console」タブを選択してログの内容を確認してみてください。図4のようにMagicPodのエラーが出ている場合があります。(図4)
2.MagicPodDesktop側
・コンソールのエラー確認
MagicPodDesktopの「Console」タブで、各種エラー情報を確認できます(図5)。また、「Appium Console」や「Selenium Console」では、AppiumサーバーやSeleniumのログ情報を確認できます。

図5 MagicPodDesktopのコンソール
・設定ファイル
MagicPodDesktopの画面は、「magic_pod_desktop.json」という設定ファイルを利用しています。ファイルの場所などは、こちらの記事を参考にしてください。
・作業ディレクトリのファイル
MagicPodDesktopは、デスクトップ直下の「magicPod」ディレクトリに以下のようなファイルを作成します。
- testディレクトリ:テスト実行時に、Node.jsのAppium/Seleniumスクリプトが作成されます。
- capture_temp.pngおよびcapture_temp.xml:前回画面キャプチャのアップロードを行った際の画面キャプチャとUIツリーXMLです。
- driver_gui.log:MagicPodDesktopのAppium ConsoleまたはSelenium Consoleの表示内容が保存されています。
- driver_run.log:MagicPodのテストをコマンドラインから実行した場合の、Appium ConsoleまたはSelenium Consoleの内容に相当する情報が保存されています。
・認証情報ファイル
MagicPodの認証情報は、「/Users/<ユーザー名>/.magic_pod_token」というファイルに保存されています。このファイルを削除すると、MagicPodDesktopで再度ログインが必要になります。(macで表示する場合「command」+「shift」+「.」)
・開発者ツールのコンソール
MagicPodDesktopの左上メニューの「Tool」>「Toggle Developer Tools」を選ぶと、Chromeと同じような開発者ツールの画面が表示され、「Console」タブでエラー情報を確認できます(図6)。MagicPodDesktopの挙動がおかしいがコンソールには何も表示されていない場合、こちらのログの内容も確認してみてください。

図6 MagicPodDesktopの開発者ツール
3.Appium関連の調査
uiautomatorviewerによるUIツリーの確認
MagicPodで取得したAndroidの画面UIツリーが不正な場合、同じ画面のUIツリーをuiautomatorviewerで見ることで、Appiumの問題なのかUIAutomatorの問題なのかを切り分けることができます。
- Android端末をUSBケーブルでPCにつなぎ、問題が起きているアプリの画面を端末上で開きます。
- Macのターミナル上で、「JAVA_HOME=$(/usr/libexec/java_home -v 1.8) ~/Library/Android/sdk/tools/bin/uiautomatorviewer」というコマンドを実行して、uiautomatorviewerのウィンドウを開きます。
- 図7のようなウィンドウが開くので、①のボタンを押すと②に現在のUIツリーの内容が表示されます。

図7 uiautomatorviewer
なお、PCにJava8がインストールされていないと、uiautomatorviewerの起動時にエラーが発生します。エラーが出た時は、Macのターミナル上で「/usr/libexec/java_home -v 1.8」を実行してみて、JVMのバージョン1.8がインストールされていないというエラーが出た場合は、Java8をインストールしてください。