Apidogにおけるテストシナリオは、Postmanのコレクションに相当する基本的な単位です。複数のリクエストを連続して送信したり、連続したテストシナリオを構築したり、異なるテストデータでリクエストを繰り返したりする必要がある場合、テストシナリオを作成し、必要なリクエストを追加することができます。Apidogでテストシナリオを使用することで、以下のようなAPIテストの要件を効率的に満たすことができます:1.
順次リクエスト実行: 複数のリクエストを指定された順序で整 理し、ユーザーインタラクションやプロセスフローをシミュレートします。
2.
テストレポート: アサーションや個々のリクエスト結果の詳細な可視化を提供するレポートを自動生成します。
3.
CI/CD統合: テストシナリオをCI/CDパイプラインに統合し、開発サイクル中に自動テストを実施することで、問題の早期発見を促進します。
4.
パフォーマンステスト: 様々な負荷下でのAPIパフォーマンスを評価し、時間経過に伴う応答動作の変化を特定するためのトレンド分析を生成します。
5.
動的パラメータテスト: 動的に生成されたパラメータを使用してリクエストを複数回実行し、APIが変動する入力に対応する方法をテストします。
6.
事前定義されたテストデータ: リクエストに事前設定されたデータを使用して、現実的な操作条件をシミュレートし、APIの応答を期待される出力と照合します。
7.
リクエスト間のデータ受け渡し: 1つのリクエストの出力データを自動的に別のリクエストに渡し、呼び出し間で状態を保持する必要があるAPIのテストに不可欠です。
8.
論理的なリクエスト関係: if、for、foreachなどの論理条件を設定し、前のリクエストの結果や特定の条件に基づいて実行フローを管理します。
これらの機能により、多様で効果的なテスト環境を作成し、堅牢で高品質なAPI開発に貢献することができます。テストシナリオの作成#
Apidogを開き、「Tests」モジュールに移動し、検索バーの横にある+
をクリックして新しいテストシナリオを作成します。適切なディレクトリを選択し、優先度を設定して作成を完了します。テストステップの追加#
Apidogでテストシナリオを設定したら、リクエストを追加していくことができます。リクエストを追加する方法はいくつかあり、それぞれ異なるニーズと柔軟性に対応しています:1.
API仕様にリンクされたリクエスト—これらのリクエストは、API仕様が変更されると更新される可能性があります:a. API仕様からインポート: この方法では、API仕様内の構造化された定義から直接リクエストをインポートします。これにより、テストがAPIのドキュメント化されたインターフェースに準拠していることが保証されますが、特定のテスト条件を満たすためにリクエストパラメータを手動で調整する必要がある場合があります。
b. APIケースからインポート: このオプションを使用して、設定済みのパラメータを含む事前に定義されたAPIケースからリクエストを引き出します。これは、現実世界のAPI使用をシミュレートする標準化されたテストに特に有用で、テスト実行全体で一貫性を確保します。
2.
API仕様に関連付けられていない独立したリクエスト—これらのリクエストは、API仕様の変更に応じて更新されません。これにより、より多くのカスタマイズが可能になります:a. カスタムリクエストを追加: 特定の要件に合わせてテストシナリオをカスタマイズするために、リクエストを一から作成します。このアプローチは、既存のAPI仕様の範囲を超えて探索するための最大の柔軟性を提供します。
b. cURLから追加: cURLを活用することで、カスタマイズされたリクエストを効率的にインポートまたは作成できます。これは、API仕様に制約されずに、複雑またはユニークなAPIインタラクションを模倣するリクエストを迅速に作成する便利な方法です。
3.
a. 他のテストシナリオからリクエストを含める: この方法では、プロジェクト内で既に定義されている他のテストシナリオから特定のリクエストをインポートすることができます。
b. 他のテストシナリオを参照: 包括的なテストのために、別のテストシナリオ全体を使用する必要がある場合があります。この機能により、関連するすべてのテストと設定を統合し、セットアップ作業を重複させることなく、統一されたテスト戦略を促進することができます。
API仕様からインポート#
現在のプロジェクトからAPI仕様をテストシナリオのステップとしてインポートすることができます。APIをインポートする際には、「手動」と「自動」の2つのモードがあります。詳細な手順については、API/APIケースからのデータ同期を参照してください。「手動」モードでは、プロジェクト内のAPIドキュメントの変更がテストステップのAPIに即座に影響を与えることはありません。テストデータの同期は、テスターが「手動」ボタンをアクティブにしたときにのみ行われます。テストステップデータへの変更は、APIドキュメントを更新しないことに注意してください。このボタンをクリックすると、テストシナリオがAPIドキュメントから情報を取得して同期するためのものです。
「自動」モードでは、プロジェクト内のAPIドキュメントの変更がテストステップに同期して更新されます。
APIケースからインポート#
現在のプロジェクトまたは他のプロジェクトからAPIケースをインポートすることができます。APIケースをインポートする際には、「コピー」と「参照」の2つのモードがあります。APIケースを「コピー」としてインポートすると、APIケースのパラメータもテストステップにコピーされます。これらは互いに独立しており、それぞれの変更が他に影響を与えることはありません。手動同期を選択することができます。
APIケースを「参照」としてインポートすると、元のプロジェクトのAPIケースを直接使用してリクエストを行います。
ケースから参照されたテストステップの場合、このステップを変更すると、元のAPIケースやそれを使用する他のステップにも影響があることを示すプロンプトが表示されます。カスタムリクエストの追加#
作業プロセス中に、プロジェクト外のAPI(例えば、サードパーティの支払いAPI)を呼び出す必要がある場合があります。テストステップにカスタムAPIリクエストを追加することができます。カスタムリクエストは、一般的なGET
、POST
、PUT
、DELETE
などのHTTPリクエストを含む任意のリクエストです。cURLから追加#
実際の作業プロセスでは、多くのAPIリクエストがcURL
コマンドラインの形式で提示されます。テストステップにcURLリクエストをインポートするオプションがあり、ワンクリックで行うことができます。他のテストシナリオからステップを含める#
同じプロジェクト内の他のテストシナリオからインポートすることで、テストステップやプロセス制御条件をクローンすることができます。他のテストシナリオを参照#
他のテストシナリオをテストステップとして参照することができます。2つのユースケースがあります:1.
ビジネスプロセスに共通の再利用可能なAPIテストステップがある場合、これらのステップを小さなテストシナリオにまとめ、他の広範なテストシナリオで直接参照することができます。
2.
製品全体の主流プロセスを回帰する必要がある場合、テストシナリオ内のさまざまなサブテストシナリオを参照して組み立て、ワンクリックで全ての主流プロセスのテスト回帰作業を完了する ことができます。
無限ループやテストシナリオが正常に停止できない状況を防ぐため、他のテストシナリオを参照する機能は、元のテストシナリオ自体を参照することはできません。
テストシナリオのオーケストレーション#
任意のテストステップをクリックすると、オーケストレーションモードに入ります。このモードでは、各テストステップの詳細な内容をより効率的に入力するための大きな操作ページが表示されます。ページの左側にはテストシナリオの全体フローが表示され、右側には選択されたテストステップの詳細が表示されます。APIリクエストとテストプロセス制御コンポーネントは、異なる表示パネルを持ちます。ステップの順序は、ステップの前にある≡
をドラッグして調整することができます。このモードでは、「⬆️」と「⬇️」キーを使用して、選択されたテストステップ間を迅速に切り替えることができます。オーケストレーションモードでは、複数のステップを編集し、左上隅の「すべて保存」ボタンをクリックして全ての変更を保存することができます。未保存の変更があるステップは、左側のリストバーにドットでマークされます。変更を常に保存することを忘れないでください。