テスト フルフィルメント API

Ordering End-to-End フルフィルメント API に CheckoutOrder submit を実装したら、ハンドラをテストして両方のフローが機能することを確認します。

前提条件

フルフィルメント API のテストを準備するには、次の手順を行います。

  • アクション センターで、注文エンドツーエンド アカウントに関連付けられている GCP プロジェクトに対する編集権限があることを確認します。プロジェクトへのアクセス権の確認と変更は、Google Cloud Identity Access Management(IAM)コンソールを使用して行うことができます。

  • テストに使用するデータフィードの JSON ファイルをアップロードします。データフィードには 1 つ以上の Restaurant エンティティと、それぞれに対応する Service エンティティおよび Menu エンティティを含める必要があります。エンドツーエンドのデータフィードの注文セクションで作成した有効なデータフィードのいずれかを使用できます。

  • 実装した CheckoutOrder submit のアクション コードを使用して、Fulfillment API を更新します。

  • 注文処理の URL エンドポイントが一般公開されていることを確認します。

テスト

有効なデータフィードを使用して、自動統合テストまたはクイックテストを使用して、アクション センターの購入手続きテストを完了できます。可能であれば、自動テスト方法を使用して、結果とテスト カバレッジを短縮します。

自動テストツールを使用してテストする

Actions Center には、フルフィルメント エンドポイントに対して実行できる一連の自動テストが用意されています。これらのテストを使用して、購入手続きと送信をテストできます。このテスト方法により、テストプロセスが自動化され、再現可能なテストセットが提供されるため、時間を節約できます。

フルフィルメント API の購入手続きと送信注文ハンドラをテストする手順は次のとおりです。

  1. 環境セレクタで適切な環境が選択されていることを確認します。
  2. アクション センターで、[広告枠] > [統合テスト] に移動します。
  3. [新しいテスト] をクリックします。
  4. [フルフィルメント エンドポイント] フィールドに、テストするフルフィルメント エンドポイント URL を入力します。
  5. [テストケース] セクションの [チェックアウト] プルダウンで、実行するテストケースを選択します。「有効なカート - オプションのない商品」から始めることをおすすめします。
  6. [テストケース] セクションの [注文の送信] プルダウンで、注文送信ハンドラで実行するテストケースを選択します。[有効なカート] のテストケースから開始することをおすすめします。
  7. [サンプル] と [QPS] のパラメータを調整することもできます。
    • サンプル: テスト用にランダムに選択されたレストラン エンティティの数。
    • QPS: フルフィルメント API でサポートできる最大 QPS。
  8. テストを開始するには、[Run] をクリックします。

テストが完了するまで待ちます。選択したエンティティとテストケースの数によっては、この処理に 20 分ほどかかることがあります。

統合テストの結果を確認して、フィードとフルフィルメント API が想定どおりに動作することを確認します。各テストでの成功率が 95% 以上である必要があります。成功率の低いテストケースの場合は、テストケースをクリックすると、関連するエラー メッセージの詳細情報を確認できます。

クイックテストツールを使用して手動でテストする

エンドツーエンド注文サービスの有効なデータフィードを使用して、購入手続きとアクションの送信をテストできます。このテストプロセスでは、クイック テストツールを使用してユーザーの注文フローを確認し、カートの購入手続きと注文送信をシミュレートします。

データフィードを使って手動でテストする手順は次のとおりです。

  1. アクション センターで、[ダッシュボード] > [クイックテスト] に移動します。
  2. [ファイルをアップロード] を使って、テストに使用するデータフィードをアップロードします。このファイルは NDJSON 形式にする必要があります。
  3. アップロードが完了したら、[送信] をクリックします。
  4. データフィード ファイルが処理されるのを待ちます。数分かかる場合があります。テーブルが自動的に更新されます。
  5. ステータスが「Success」になったら、[Quick Test] をクリックします。
  6. [Test API] フィールドに、テストするフルフィルメント API エンドポイントを挿入します。
  7. [Quick Test] をクリックして、注文フローを開始します。
  8. 目的のレストランを選択し、カートを作成して、Ordering End-to-End フローに進みます。

  9. [ご購入手続き] ボタンをクリックして、購入手続きのエンドポイントをテストします。

  10. ご購入手続きが正常に完了したら、[注文] ボタンをクリックして、注文送信エンドポイントをテストします。

  11. 注文が正常に送信されると、インターフェースに注文の詳細を含む確認ページが表示されます。

補足資料

前述の手順に加えて、コンソール ツールを使用して、注文フルフィルメントの詳細なテストとトラブルシューティングを行うことができます。

詳しくは、以下のツールをご覧ください。

  • Chrome DevTools Console は、コンソールとフルフィルメント エンドポイント間のリクエストとレスポンスの JSON を出力します。特定の問題のトラブルシューティングを行うには、手動テストの実行中にこの出力を参照してください。
  • フルフィルメント エンドポイントは、Stackdriver ログを Google Cloud コンソールに出力します。フルフィルメント コードの問題をトラブルシューティングする場合は、これらのログで詳細なエラー メッセージを確認してください。