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

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ツリー

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

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

Magic PodのWebページのエラー

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

Magic Pod Desktop側

コンソールのエラー確認

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

Magic Pod Desktopのコンソール

図4 Magic Pod Desktopのコンソール

詳細なログの出力

Magic Pod Desktopのウィンドウサイズを大きくすると、ウィンドウの下の方に「Log level」の選択項目があります(図5)。ここで「Magic Pod Bug Investigation」を選択すると、Magic Pod Desktopのコンソールに表示される情報が非常に詳細になります。(ただし、かなり動作が遅くなるので、バグ調査の時以外は「beginner」か「expert」にしておいてください。)

Magic Pod DesktopのLog level設定

図5 Magic Pod DesktopのLog level設定

設定ファイル

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です。
  • test_end_screen_shot.pngおよびtest_end_ui_tree.xml:前回テスト実行時のエラー画面キャプチャとUIツリーXMLです。
  • appium_gui.log:Magic Pod DesktopのAppium Consoleの表示内容が保存されています。
  • appium_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. 画面キャプチャを直接ブラウザにドラッグ&ドロップしてスキャンした画像の場合は、ロケータ情報は確認できません。 []