開発者向けトラブルシューティング

Magic Podの使い方 > 開発者向けトラブルシューティング

このページでは、主に開発者の方のために、より高度なMagic Podのトラブル調査方法を説明します。

目次

  1. ブラウザ側
  2. Magic Pod Desktop側
  3. Appium関連の調査

ブラウザ側

Appiumロケータのチェック

テスト編集画面の画面キャプチャ上でUI要素をクリックし、要素情報を編集するポップアップを表示します。このポップアップ上で「詳細表示」をクリックすると、図1のようにUI要素に対応するAppiumロケータ情報を確認できます1 。また、このページで、利用するロケータを他の候補に変更することも可能です。

Appiumロケータの確認

図1 Appiumロケータの確認

エラー時のUIツリーの確認

テストが失敗すると、テスト結果画面に「エラー時のUIツリーを表示」というリンクが表示されるので、これをクリックしてテスト失敗時のUIツリーを確認できます。(図2)

エラー時のUIツリー

図2 エラー時のUIツリー

詳細なログの出力

テスト対象指定パネルの「詳細」>「ログレベル」を「エキスパート」にすると、ログの出力が詳細になります。(図3)

ログレベルの指定

図3 ログレベルの指定

「Magic Podバグ調査」にするとさらに詳細になりますが、かなり動作が遅くなり、大量のログが出るようになります。これはMagic Podサポートチームに依頼された時以外には使用せず、ログ取得が終わったらすぐにレベルを「ビギナー」か「エキスパート」に戻しておいてください。

開発者ツールのコンソール

Magic Podのページが予期しない動作(テストが保存されない等)をした場合は、Chromeのメニューの「その他のツール」>「デベロッパーツール」から開発者ツールを開き、「Console」タブを選択してログの内容を確認してみてください。図4のようにMagic Podのエラーが出ている場合があります。(図4)

Magic PodのWebページのエラー

図4 Magic PodのWebページのエラー

Magic Pod Desktop側

コンソールのエラー確認

Magic Pod Desktopの「Console」タブで、各種エラー情報を確認できます(図5)。また、「Appium Console」では、Appiumサーバーのログ情報を確認できます。

Magic Pod Desktopのコンソール

図5 Magic Pod Desktopのコンソール

設定ファイル

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の挙動がおかしいがコンソールには何も表示されていない場合、こちらのログの内容も確認してみてください。

Magic Pod Desktopの開発者ツール

図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ツリーの内容が表示されます。
uiautomatorviewer

図7 uiautomatorviewer

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

  1. 画面キャプチャを直接ブラウザにドラッグ&ドロップしてスキャンした画像の場合は、ロケータ情報は確認できません。 []