Ready! API SoapUI NG Pro – REST API 機能テストの作成方法

ReadyAPI SoapUI NG Pro は、オープンソースで提供されていた SoapUI 製品の有償版として販売されています。
Windows、Linux、MacOS のマルチプラットフォームに対応し、REST API、SOAP API の 機能テストをコーディング レスで設定し、テストを実行できます。レスポンスは、JSON、XML で取得でき、結果に対するチェック機能も提供されています。
今回は、REST API の機能テストの手順を紹介します。

評価版ダウンロードサイト

1. Ready API を起動し、File | New | Project をファイルメニューから選択します。

2. 下記の Google Map API の URL を Service Endpoint フィールドに指定し、[OK] ボタンをクリックします。
http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false
以下のダイアログが表示されるので、”Continue to describe your API” を選択して [OK] ボタンをクリックします。

SoapUI が、サービス、リソース、メソッド、現在のリクエストを含むプロジェクトを作成し、リクエスト エディターを開きます。

3. Parameter テーブルで、Path から異なるクエリの引数を自動的に抽出します。
① Request エディター内の緑の矢印のボタンをクリックします。
② サービスから返された XML の出力を確認することができます。
③ XML エディターが表示されない場合は、Response パネルの左のスクロールボタンをクリックして、XML タブを表示させ、クリックしてください。

正しいリクエストが返されていることが確認できましたので、このリソースに対する機能テストを作成していきます。

4. Add to TestCase ボタンをクリックすると、TestSuite、TestCase の名前が追加されます。デフォルトの設定で [OK] ボタンをクリックしていきます。

Projects から SoapUI NG Pro に移行し、TestCase が作成されたことを確認いただけます。

5. 次に、JSON でレスポンスを取得します。
① Projects をクリックします。
② REST のリクエストをクリックします。
③ Resource の情報を、”/maps/api/geocode/json” に変更します。
④ 実行ボタンをクリックします。

実行結果として、JSON フォーマットのレスポンスを確認できます。

6. レスポンスに対して、検証するための Assertion を追加します。
この例では、レスポンスが設定した時間内に返されているかを検証します。
① SoapUI NG Pro をクリックします。
② Add Assertion をクリックします。
③ ダイアログが表示されますので、SLA を選択し、④ のResponse SLA をクリックして、[Add] ボタンをクリックします。

7. 任意のレスポンス時間を指定します。デフォルトでは 200ms が設定されていますが、ここではエラーケースを確認するため、50ms に設定します。

8. 次に別の Assertion を追加します。[Add Assertion] ボタンをクリックし、ダイアログを表示させます。Property Content – XPath Match の順番で選択し、[Add] ボタンをクリックします。

9. XPath Expression の下のボタンをクリックし、Select XPath のダイアログでは、”lat” を選択します。

10. Assertion を保存すると、2 つの実行結果が以下のように表示されます。

Response SLA については、期待値 50ms に対し、実際には56ms かかっているため、エラーとして検出されています。
XPath Match については、期待値と結果値が一致するため、成功となっています。

SoapUI NG Pro では、他にもデータ駆動型のテストや、テストカバレッジの取得など、豊富な機能を備えていますので、14 日間利用可能な評価版を使用してお試しください。

ReadyAPI 製品の詳細はこちら