SOAtest は、WADL または RAML の定義あるいは URL からの RESTful サービスをテストすることができます。
このセクションの内容:
WADL が利用可能な場合の RESTful サービスのテスト
SOAtest では、REST Client ツールによって RESTful サービスをテストすることができます。以下の演習では、REST Client ツールを使って ParaBank Loan Request API をテストします。
サービスの機能を表現する WADL (Web Application Description Language) にアクセスできる場合、SOAtest を使って、WSDL をパースする場合と似た方法で機能テスト スイートを作成することができます。以下の演習では、ParaBank の WADL を使ってテストを作成します。
WADL の RESTful サービスをテストするには、以下の操作を行います。
- ローカルに ホストされた ParaBank アプリケーション ( 「ParaBank のセットアップ」で説明) が実行中であり、WADL にアクセスできることを確認します。
- テスト ケース エクスプローラーで、テスト スイート: テスト スイート ノードの 1 つを右クリックし、[新規追加] > [テスト スイート] を選択します。
- [REST] > [WADL] を選択して [次へ] をクリックします。
- [WADL URL] フィールドで
http://localhost:8080/parabank/services/bank?_wadl&_type=xml
と入力し、[WADL の検証およびポリシーを適用するテストを作成] チェックボックスをオンにして [次へ] をクリックします。 - WADL をチェックするための 3 個のテストが追加されたことが分かります。
- テスト 1: スキーマの妥当性: W3C の WADL スキーマに対して、WADL の XML を検証します。
- テスト 2: セマンティックな妥当性: WADL をパースし、実際のユーザーのようにコンシュームして WADL の正しさをチェックします。ただし、より厳格に規格に従います。
- テスト 3: WADL レグレッション: WSDL ドキュメント中の変更を検出できるように、WADL の回帰コントロールを作成します。
- 新しいテスト スイートが作成され、WADL が提供するサービスに対応したサブテスト スイートと REST Client ツールが合わせて作成されたことが分かります。
- テスト スイート: accounts の下に作成された新しい REST Client ツールをダブルクリックします。すべての Path パラメーターはすでに自動的に伝播されています。ただし、ParaBank から有効な結果を取得するために、有効なアカウント ID を提供しなければなりません。
- [Path] の設定で、accountId の下に 12345 と入力して有効なアカウント ID を提供します。
URL に 12345 が追加された点に注意してください。 - 保存して REST Client を実行します。
- REST Client に連結された Traffic Viewer をダブルクリックし、[レスポンス] タブを開きます。アカウント #12345 の詳細情報を ParaBank サーバーが返したことが分かります。
OpenAPI/Swagger または RAML の定義からのテスト生成
「OpenAPI/Swagger 定義からテストを作成」および「RAML 定義からのテスト作成」を参照してください。
URL を使った RESTful サービスのテスト
この演習では、完全なアプリケーション機能を記述した WADL にアクセスできない場合に RESTful サービスをテストする方法について説明します。
URL を使って RESTful サービスをテストするには、以下の操作を行います。
- テスト ケース エクスプローラーで、テスト スイート: テスト スイート ノードの 1 つを選択し、ツールバーの [テスト スイートの追加] ボタンをクリックします。
- [テスト スイートの追加] ウィザードで、[空] を選択して [終了] をクリックします。
- 新規作成したテスト スイートをダブルクリックし、[名前] フィールドに REST Example と入力します。 変更を保存してテスト スイート エディターを閉じます。
- テスト ケース エクスプローラーで テスト スイート: REST Example を選択し、ツールバーの [テストまたは出力の追加] ボタンをクリックします。
- 左側で [標準テスト] を選択し、右側で [REST Client] を選択して [終了] をクリックします。新しい REST Client ツールが追加され、そのエディターが開きます。
- ツールの名前を Loan Request (JSON Response) に変更します。
- [サービス定義] がデフォルトで [なし] に設定されている点に注意してください。ほとんどの RESTful サービスは、URL とクエリーから構成される、純粋に GET ベースのサービスです。通常は XML または JSON のレンポンス ペイロードに応答します。
- RESTful サービスにリクエストを提供します。[URL] フィールドに
http://localhost:8080/parabank/services/bank/requestLoan?customerId=1&fromAccountId=12345&amount=100&downPayment=1
と入力し、[メソッド] ドロップダウン メニューから [POST] を選択します。 - パス テンプレートとクエリー パラメーターを使って値がすでに自動的に設定されていることが分かります。さらにパラメーターを追加したい場合、ここで追加できます。
- [HTTP オプション] タブで、 [HTTP ヘッダー] オプションを選択して [追加] をクリックします。Accept という名前で application/json という値の新しいヘッダーを追加します。 このヘッダーを省略した場合、サービス レスポンスは XML になります。このヘッダーを追加すると、サービス レスポンスは JSON になります。
- REST Client のエディターを保存します。
- テストを実行し、Traffic Viewer でトラフィックを確認します。JSON メッセージをグラフィカルな表示で見たい場合、リテラル ビューからツリー ビューに切り替えることができます。
リテラル ビュー:
ツリー ビュー: