Magic Podの使い方 > 開発者向けトラブルシューティング
このページでは、主に開発者の方のために、より高度なMagic Podのトラブル調査方法を説明します。
目次
ブラウザ側
Appiumロケータのチェック
テスト編集画面の画面キャプチャ上でUI要素をクリックし、要素情報を編集するポップアップを表示します。このポップアップ上で「詳細表示」をクリックすると、図1のようにUI要素に対応するAppiumロケータ情報を確認できます1 。また、このページで、利用するロケータを他の候補に変更することも可能です。
エラー時のUIツリーの確認
テストが失敗すると、テスト結果画面に「エラー時のUIツリーを表示」というリンクが表示されるので、これをクリックしてテスト失敗時のUIツリーを確認できます。(図2)
詳細なログの出力
テスト対象指定パネルの「詳細」>「ログレベル」を「エキスパート」にすると、ログの出力が詳細になります。(図3)
「Magic Podバグ調査」にするとさらに詳細になりますが、かなり動作が遅くなり、大量のログが出るようになります。これはMagic Podサポートチームに依頼された時以外には使用せず、ログ取得が終わったらすぐにレベルを「ビギナー」か「エキスパート」に戻しておいてください。
開発者ツールのコンソール
Magic Podのページが予期しない動作(テストが保存されない等)をした場合は、Chromeのメニューの「その他のツール」>「デベロッパーツール」から開発者ツールを開き、「Console」タブを選択してログの内容を確認してみてください。図4のようにMagic Podのエラーが出ている場合があります。(図4)
Magic Pod Desktop側
コンソールのエラー確認
Magic Pod Desktopの「Console」タブで、各種エラー情報を確認できます(図5)。また、「Appium Console」では、Appiumサーバーのログ情報を確認できます。
設定ファイル
Magic Pod Desktopの画面は、「magic_pod_desktop.json」という設定ファイルを利用しています。ファイルの場所などは、こちらの記事を参考にしてください。
作業ディレクトリのファイル
Magic Pod Desktopは、デスクトップ直下の「magicPod」ディレクトリに以下のようなファイルを作成します。
- testディレクトリ:テスト実行時に、Node.jsのAppiumスクリプトが作成されます。スクリプトの詳細はMagic Podの仕組みを参照してください。
- capture_temp.pngおよびcapture_temp.xml:前回画面キャプチャのアップロードを行った際の画面キャプチャとUIツリーXMLです。
- driver_gui.log:Magic Pod DesktopのAppium Consoleの表示内容が保存されています。
- driver_run.log:Magic Podのテストをコマンドラインから実行した場合の、Appium Consoleの内容に相当する情報が保存されています。
認証情報ファイル
Magic Podの認証情報は、「/Users/<ユーザー名>/.magic_pod_token」というファイルに保存されています。このファイルを削除すると、Magic Pod Desktopで再度ログインが必要になります。
開発者ツールのコンソール
Magic Pod Desktopの左上メニューの「Tool」>「Toggle Developer Tools」を選ぶと、Chromeと同じような開発者ツールの画面が表示され、「Console」タブでエラー情報を確認できます(図6)。Magic Pod Desktopの挙動がおかしいがコンソールには何も表示されていない場合、こちらのログの内容も確認してみてください。
Appium関連の調査
uiautomatorviewerによるUIツリーの確認
Magic Podで取得した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ツリーの内容が表示されます。
なお、PCにJava8がインストールされていないと、uiautomatorviewerの起動時にエラーが発生します。エラーが出た時は、Macのターミナル上で「/usr/libexec/java_home -v 1.8」を実行してみて、JVMのバージョン1.8がインストールされていないというエラーが出た場合は、Java8をインストールしてください。
- 画面キャプチャを直接ブラウザにドラッグ&ドロップしてスキャンした画像の場合は、ロケータ情報は確認できません。 [↩]