Magic Podの仕組み

Nozomi Ito edited this page Jun 4, 2017 · 9 revisions

Magic Podがどのような仕組みで動いているか分かると、Magic Podでできること・できないことの判断が容易にできるようになり、エラーが起きた時の原因究明も行いやすくなります。

Magic Podのテスト作成・実行の仕組みは、「Magic Pod Desktopで画面情報をアップロードする場合」と「画面キャプチャファイルをドラッグ&ドロップする場合」で異なります。ここではそれぞれの仕組みについて簡単に説明します。

Magic Pod Desktopで画面情報をアップロードする場合

Magic Pod Desktopで画面情報をアップロードする場合(参考)、図の①のように、実は画面キャプチャと同時にUIツリー情報(画面要素の位置やシステム名などの情報)も同時にアップロードされています。Magic PodのAIは、サーバ上で画面キャプチャを解析して画面要素を検出し、さらに各画面要素に対応するシステム要素が何かを、UIツリーから計算します(図の②)。

画面情報のアップロードと解析

その後、ユーザーがテストを作成すると(図の③)、選んだ画面要素とコマンドに応じて、システムで実行可能な形式の「テストスクリプト」と「UIマップファイル」が生成されます(図の④)。UIマップファイルとは、画面要素の名前と対応するシステム要素の情報が記載されたファイルです。

「テストスクリプト」と「UIマップファイル」の生成

あとはユーザーがテストを実行すると、図の⑤のように、自動テストツールAppiumが、システム情報を使ってテストを実行します注1。テストの実行後、デスクトップのMagicPodディレクトリを見ると、test以下に「テストスクリプト」が、test/base/ui以下に「UIマップファイル」が置かれているのが分かるでしょう。

テスト実行

画面キャプチャファイルをドラッグ&ドロップする場合

画面キャプチャファイルを直接テスト編集ページにドラッグ&ドロップした場合、画面要素に対応するシステム要素が何かは、テスト作成時には分かりません。この場合、対応するシステム要素はテストの実行時に計算されます。計算されたシステム要素の名前はPC上に保存され、2回目のテスト実行からはこの保存された値を使って高速に動作します。

注意点

  • 注1: テストの実行には、Mochaというテストツールも利用しています。
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.