前回のおさらいは、 『第1回:REST API テスト効率化 - テスト作成/実行』 を参照してください。
■目的
・REST API テスト結果の自動検証
手順:
・テスト結果検証ツールの追加
・テスト結果の検証項目の設定
・テスト実行/検証結果の確認
■テスト概要
郵便番号検索APIを開発していると仮定し、この機能のテストを Parasoft SOAtest を使用して行います。
今回は、例として、Yahoo Japan 様が公開している REST API (郵便番号検索API)をテストします。
郵便番号 '108-8588' で検索し、結果の検証を行います。
テスト結果で取得する値は、弊社(テクマトリックス 株式会社)の名前や住所などの情報です。
※2013.01.24時点での Yahoo Japan 様のAPI 仕様に基づいて記載しています。
■それでは、早速はじめましょう。
1. SOAtest の起動
1-1. SOAtest を起動します。
2. テスト結果検証ツールの追加
[Test 1: REST Client] を右クリックし、シュートカット メニューより [出力の追加] を選択します。
2-1. ダイアログが開きますので、次の項目を選択し、[終了] ボタンをクリックしてツールを追加します。
■ 左欄 : [レスポンス] より [トラフィック] を選択
このダイアログからは、これから追加するツールを [Test 1: REST Client] のリクエスト、レスポンス、または両方の何処に対して適用するのかを選択できます。
今回は、テスト結果を検証したいので、[レスポンス] を選択します。
■ 右欄 : [Validation] より [JSON Assertor] を選択
今回、検証するメッセージ形式は JSON なので、JSON Assertor を選択します。
仮に、検証するメッセージ形式が XML である場合は、 XML Assertor を選択します。
2-2. [JSON Asserot] が [Test 1: REST Client] に連結されていることを確認します。
ここまでの操作で、テストクライアントと検証ツールの連結は完了です。
3. テスト結果の検証項目設定
[設定] タブを選択して [追加] ボタンをクリックします。
3-2. ダイアログから様々な種類の検証方法を選択できますが、
今回は、テスト結果(レスポンス)の値を検証するため [Value Assertion] より [Value Assertion] を選択し、[次へ] をクリックします。
3-3. 次に、ツリー ビューで表示されたテスト結果(レスポンス)の要素の一覧から、検証対象とする項目を選択します。
今回は、[PostalName] を選択し、[終了] をクリックします。
4. テスト実行
5. テスト結果の確認
5-2. [品質タスク] ビューに問題の詳細が表示されますので、エラー メッセージをダブルクリックします。
5-3. [詳細] ビューに問題の詳細が表示されます。
次の理由でテストが失敗したことが解ります。
・ 検証ツールの期待値: test
・ 実際のテスト結果: テクマトリックス 株式会社
いかがでしたか?
■ まとめ
今回は、REST API のテスト結果を自動検証する方法を紹介しました。
サクッと完了ですね。
■ 次回予告
次回は、回帰テストの作成方法について紹介しますのでお楽しみに!