Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート
Skip to main content
App KPI Visualizerを使用すると、アプリのパフォーマンスを監視して最適化できます。 フォアグラウンドメモリおよびUIとビデオの滑らかさをモニタリングして最適化するために役立ちます。 フォアグラウンドメモリ アプリがアクティブなときの常駐セットサイズ(RSS)を測定します。これには、共有RAMとプライベートRAMが含まれます。フォアグラウンドメモリをモニタリングすると、次のような処理の実行中のメモリ消費量を検出できます。
  • アプリの起動
  • フォアグラウンドとバックグラウンド間の遷移
  • メモリを大量に消費する操作
UIとビデオの滑らかさ UI操作の滑らかさのパフォーマンスとビデオの再生品質を追跡します。滑らかさが低い場合、UIの遅延やビデオフレームのドロップが発生し、ユーザー体験が損なわれる可能性があります。 アプリのパフォーマンスを評価するプロセスには、次の手順が含まれます。 このプロセスに従うことで、ユーザーに影響が及ぶ前に、滑らかさの問題とフォアグラウンドメモリが大量に消費される状況を検出して解決できます。

前提条件

アプリのUIとビデオストリーミングの滑らかさを測定する前に、次の手順を完了してください。
  1. Vega Videoアプリをダウンロード、ビルド、インストールします。 Vega Videoアプリのドキュメントの手順に従ってください。 アプリをダウンロードしたら、samplesディレクトリにあるサンプルのテストシナリオを確認します。アプリ固有の要件に合わせてガイダンスに従ってください。
  2. AppiumサーバーとAppium Vegaドライバーをインストールします。 Vegaとの統合に向けたAppiumのインストールの手順1~4に従います。 Appiumは、スクリプトを記述してアプリの滑らかさを測定するために必要となる自動化ツールです。
  3. Appium Inspector(英語のみ)をダウンロードします。

UI操作の記録

  1. Appium Inspectorによるアプリの検査の手順1~6に従います。 録画を開始するボタンの位置を示すスクリーンショット。
  2. [Start Recording] アイコンをクリックして、アプリでのUI操作を開始します。 録画ボタンが赤く表示されている画面のスクリーンショット。これは録画中であることを意味します。
  3. 画面の左側のパネルで、[Tap/Swipe by Coordinate] ([+]) アイコンをクリックします。

テストシナリオスクリプトの生成

KPIを正確に測定するには、テストシナリオを作成して、次の目的に合ったUI操作を定義します。
  • フォアグラウンドメモリのモニタリング
  • UIの滑らかさの評価
  • ビデオの滑らかさの評価
テストシナリオにより、実際のユーザー操作パターンを反映したKPI測定値を得ることができます。

スクリプトの生成

  1. VS Codeでコマンドパレットを開きます。 Mac:Shift+Command ⌘+P Linux:Shift+Ctrl+P
  2. 「Vega: Generate test scenario template」と入力します。 コマンドパレットで「Vega: Generate test scenario template」コマンドを入力している画面を示すスクリーンショット。
  3. テストシナリオスクリプトのファイル名を指定します。 保存ポップアップ画面のスクリーンショット。ここでスクリプトに名前を付けることができます。 テンプレートを生成すると、VS Codeにメッセージが表示されます。 成功メッセージのスクリーンショット。選択したファイルパスにテンプレートが正常に生成されたことを示します。

Pythonスクリプトの解釈

このテンプレートの言語はPythonです。テンプレート内には、次の2つのメンバーを含むTestRunnerクラスがあります。
  • prep(青の枠内)
  • run(赤の枠内)
prep関数とrun関数のコードを青と赤のボックスで囲んで示したスクリーンショット。 テスト中、各メンバーは次の役割を果たします。
  • prep - 実際のテストシナリオを実行する前に必要な準備をすべて行います。 たとえば、ビデオを再生するには、このメンバー関数内でナビゲーションと再生コードを定義します。 prepの例は、テストシナリオの作成に示されています。
  • run - テストケースのUI操作とアクションを定義します。 たとえば、一定期間におけるビデオ再生の滑らかさを測定するには、sleep関数を呼び出して、必要な時間が経過するまで待機します。

テストシナリオの作成

以下の各タブに、アプリ内でのUI操作とビデオストリーミングをシミュレートするテストシナリオを示します。
Amazon Fire TV Stickには、黒い円形の方向パッド(D-Pad)が付いたリモコンが付属しています。Amazon Fire TV Stickのリモコンのスクリーンショット。上部の電源ボタンの下に黒い方向パッドがあります。このセクションでは、D-Pad入力をシミュレートして、アプリ内のUIコンポーネントを切り替えるテストシナリオを作成します。リモコンのD-Padの機能を模倣するコードを記述します。アプリユーザーは、D-Padを押すことでオプションを切り替えたり、選択を特定の方向に移動したりできます。アプリのUIを操作する場合と同じナビゲーションエクスペリエンスを、コードで実現する必要があります。D-Pad入力をシミュレートするには、次の手順を実行します。テストシナリオの作成方法を示すアニメーションGIF。
  1. Appium Inspectorで [Commands] タブに移動し、[Execute Script] > [executeScript] を選択します。 これにより、Appium InspectorからVegaデバイスにUI操作コマンドが送信されます。
  2. リモコンのD-Padキーを押す操作をシミュレートするには、executeScriptメソッドに次の引数を指定します。
    • executeScriptCommand - D-Padキーの押下を表すキーイベントを送信するには、jsonrpc: injectInputKeyEventを使用します。
    • jsonArgument - 次のプロパティを持つJSONオブジェクトを指定します。
      • inputKeyEvent(文字列)- D-padの方向を表すキーイベントの値。D-Padに対応するコードを調べるには、「Appiumコマンド」のD-Padナビゲーションのセクションを参照してください。
      • holdDuration(数値)- D-padキーを押したままにした状態をシミュレートする時間(ミリ秒単位)。単一の押下を表すには0を使用します。
    たとえば、D-Padの「Down」コマンドを保留時間0秒に設定して送信するには、次のコードをjsonArgumentに追加します。
    例: jsonAgrumentのスクリプトを追加するAppium Inspectorのユーザーインターフェイスを示すスクリーンショット。
  3. テストシナリオテンプレートを生成し、Appium Inspectorから記録されたUI操作をテンプレートにコピーします。 テストシナリオスクリプトの生成の手順に従ってください。
  4. Appium Inspectorに戻ります。
  5. [Recorder] タブを選択して、記録されたコードを確認します。

テストシナリオの目標

  • アプリを準備完了状態で起動する。この段階ではUI操作は必要ありません。
  • D-Padキーを送信してページ上でUIフォーカスを動かしながら、アプリのUIの滑らかさを測定する。
Appium Inspectorの [Recorder] ボックスからコードをコピーする場合、prepメンバー関数には何も定義する必要はありません。Recorderは、記録セッション中にユーザーが実行したアプリのUI操作をキャプチャします。記録されたUI操作を表すコードをrunメンバー関数に貼り付けます。このコードにより、テストの実行中にアプリ上で同じUI操作が実行されます。次の画像では、同じD-Padキー押下イベントをループ処理で5回送信することで、ユーザー入力の繰り返しをシミュレートしています。D-padキー押下イベントを示すスクリーンショット。

アプリの滑らかさの測定

  1. VS Codeでコマンドパレットを開きます。 Mac:Shift+Command ⌘+P Linux:Shift+Ctrl+P
  2. 「Vega: Launch App KPI Visualizer」と入力します。 選択できるユースケースの一覧を示すスクリーンショット。
  3. コマンドパレットからユースケースを選択します。 キャプチャするリソースとして [Record CPU Profiler] が表示された画面のスクリーンショット。
  4. [Record CPU Profiler] のチェックボックスがオフになっていることを確認し、[OK] をクリックします。 カスタムテストシナリオを使用するかどうかをたずねるダイアログボックスのスクリーンショット。[Yes] または [No] を選択できます。
  5. [Custom Test Scenario] ダイアログボックスで、[Yes]をクリックします。 テストシナリオのスクリプトファイルを示すスクリーンショット。
  6. テストシナリオスクリプトの生成で生成したテストシナリオを選択します。
  7. テストを実行します。
結果のサンプルについては、アプリのKPIの測定を参照してください。

関連トピック


最終更新日 2026年10月26日