Fulfillment API をテストする

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

前提条件

フルフィルメント API をテストする準備を行う手順は次のとおりです。

  • Actions Center で、Ordering End-to-End アカウントに関連付けられている GCP プロジェクトへの編集アクセス権があることを確認します。プロジェクトへのアクセスを確認、変更するには、Google の Cloud Identity Access Management(IAM)コンソールを使用します。

  • テストに使用するデータフィード JSON ファイルをアップロードします。データフィードには、少なくとも 1 つの Restaurant エンティティと、対応する Service エンティティと Menu エンティティが含まれている必要があります。エンドツーエンドの注文データフィードで作成した有効なデータフィードのいずれかを使用できます。

  • 実装した購入手続き注文送信のアクション コードを使用して、Fulfillment API を更新します。

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

テスト

有効なデータフィードを使用して、アクション センター自動統合テストまたはクイックテストを行い、購入手続きのテストを行うことができます。可能であれば、自動テスト方法を使用して、結果の迅速化とテスト範囲の拡大を図ってください。

自動テストツールでテストする

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

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

  1. 環境セレクタから正しい環境を選択していることを確認します。
  2. アクション センターで、[Inventory] > [Integration Testing] に移動します。
  3. [新しいテスト] をクリックします。
  4. [Fulfillment endpoint] フィールドに、テストするフルフィルメント エンドポイントの URL を入力します。
  5. [Test Cases] セクションの [Checkout] プルダウンで、実行するテストケースを選択します。最初は [対象カート - オプションなしの商品] から始めることをおすすめします。
  6. [テストケース] セクションの [注文を送信] プルダウンで、注文送信ハンドラで実行するテストケースを選択します。対象カートのテストケースから開始することをおすすめします。
  7. Samples パラメータと QPS パラメータを調整することもできます。
    • サンプル: テスト用にランダムに選択されるレストラン エンティティの数。
    • QPS: フルフィルメント API がサポートできる最大 QPS。
  8. テストを開始するには、[実行] をクリックします。

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

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

クイック テストツールで手動でテストする

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

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

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

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

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

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

参考情報

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

その他のガイダンスについては、次のツールをご覧ください。

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