SOAtest では、OpenAPI/Swagger 定義に記述されたエンドポイントに基づいて .tst ファイルを自動生成することができます。OpenAPI/Swagger ウィザードで生成した .tst には、定義されたすべてのエンドポイントに対応する REST Client が作成されます。  

以下の仕様をサポートします。

  • Swagger 1.0 - 2.0。これらの仕様と互換性がある Swagger Core のバージョンもサポートされます (たとえば Swagger Core 1.0.0、1.2.4、1.3.12、1.5.0-M1、1.5.0)。
  • OpenAPI/Swagger 3.0。

有効な OpenAPI/Swagger 定義からテスト スイートを作成するには、次の操作を行います。

  1. テスト ケース エクスプローラーで [新規追加] > [テスト (.tst)] を選択します。 
  2. ファイル名を指定し、[次へ] をクリックします。 
  3. [REST] > [OpenAPI/Swagger] オプションを選択し、[次へ] をクリックします。テスト作成ウィザードにアクセスする方法については、「既存プロジェクトへ新規 .tst ファイルを追加」および「Adding a New Test Suite」を参照してください。
  4. OpenAPI/Swagger 定義を指す URI の絶対パスを入力するか、[参照] ボタンをクリックしてローカル システムのファイルを指定します。 
  5. テスト スイートの種類を選択します。
    • 個別のクライアント: API リソースごとにグループ化された個別のテスト クライアントを生成します。各リソースに対して、そのリソースで利用可能なすべてのメソッドのテストクライアントを含むテストスイートが生成されます。
    • テストシナリオ: さまざまな API リソースのシーケンスを含むテスト シナリオを生成します。テスト スイートはシナリオごとに生成されます。OpenAI 設定で構成されたアカウント情報を使用して OpenAI API を使用します。
      • このオプションを選択した場合は、[次へ] をクリックし [テスト シナリオの生成] ページに進みます。作成するテスト シナリオに関する AI への簡単な指示を入力し (「AI プロンプトの作成」を参照。フィールド上のメニューを使用して例や最近のプロンプトを表示することもできます)、[生成] をクリックします (これには数秒かかる場合があります)。AI にさらにシナリオを作成させたい場合は、[さらに生成] をクリックします。AI にすべてのシナリオを破棄して最初からやり直す場合は、[再生成] をクリックします。いずれかの操作を行う前に、AI のプロンプトを変更できます。使用するシナリオを有効にし、使用しないシナリオを無効にします。
      • 注意: この機能は OpenAI に依存しているため、不正確な情報が生成される可能性があります。
  6. [次へ] をクリックします。[環境の作成] ページが開きます。
  7. (任意) 既存の環境を参照するか、新しい環境を作成するかを指定します。
    • 新しい環境を作成するには、次の操作を行います。
      1. [プロジェクトの新規環境を作成] を有効にします。
      2. [環境名] および [変数接頭辞] フィールドに入力します。
    • 既存の環境を参照するには、[既存の環境の参照] を有効にし、適切な環境ファイルを指定します。
    • 環境についての詳細は、「異なる環境でのテスト構成」を参照してください。
  8. [終了] をクリックします。

生成された .tst には、OpenAPI/Swagger 定義に記述されたリソース/メソッドのペアごとに 1 個の REST Client が作成されます。  

  • 各 REST Client は、指定されたサービス定義およびスキーマ (適用可能な場合) の制約を受けるよう設定されています。
  • REST Client のリソース URL、HTTP メソッド、およびペイロード (適用可能な場合) も、定義に従って構成されています。
  • サービスのベース URL は "BASEURL" 変数として構成されます。各 リソース URL は、"BASEURL" 変数を使ってパラメータライズされます。
  • クエリー パラメーターは、サービス定義に従ったデフォルト値またはサンプル値 (利用可能な場合) と共に記録されます。
  • サービス定義にスキーマが含まれている場合、サンプル ペイロードはスキーマから構築され、スキーマの制約を受けます。

さらに、OpenAI で作成されたテスト シナリオには、適切なスマート テスト テンプレートが自動的に適用されます。


  • No labels