【第2回】ToscaでAPIテストケースを作成する
Tricentis ToscaでAPIテストを実行してみたシリーズ
本記事は「ToscaでAPIテストを実行してみた」シリーズの第2回になります。
有効なTricentis Toscaのライセンスを保持している事を前提に記載しております。
今回の目的
前回は、API Scanを使用してSwagger定義を読み込み、モジュール化するところまで行いました。
今回は、そのモジュールを使って 実際にAPIテストケースを設計・実行する手順 を紹介します。
ToscaのAPIテストは「リクエストを送るだけ」ではなく、動的パラメータ設定やレスポンス検証まで自動化できるのが特徴です。
前提条件
このステップを始める前に、以下が準備済みであることを確認します。
- Tosca Commanderがインストール済み
- API ScanでSwagger定義を読み込み、モジュールがCommanderに転送済み
- サンプルAPI(例:Swagger Petclinic)がアクセス可能
ステップ1:作成されたTestCaseを確認する
- Tosca Commanderの TestCase フォルダ を開く
- 例:
API → Test Cases → Petstore → GET getPet Requestを選択 - 右クリックして Create TestCase を選択
作成されたTestCaseは以下のような構造になります。
TestCase
├── Request (入力パラメータ)
├── Response (出力検証)
💡 ポイント
モジュール内の「Request」「Response」パラメータはAPI Scanで定義された内容に基づいて自動生成されています。
ステップ2:リクエストパラメータを設定する
次に、実際のリクエスト値を設定します。
例:GET /pet/findByStatus
| 項目 | 値 | 説明 |
|---|---|---|
| petId | 任意のpetId | クエリパラメータ |
| Accept | application/json | ヘッダ |
操作手順
- Modules内の
Technical ViewよりParamsタブを展開。またHeadersを展開。 -
Query Parameter配下のpetIdを選択し、Add Moudle Attributeを選択 - 必要に応じて同様にHeaderも設定
上記作業を行う事で、TestCase内で動的に値をParameterとして選択できるようになります。

ステップ3:期待値(Assertion)を設定する
Toscaの強力な特徴の一つが、レスポンス検証(Assertion)機能です。
Response部分には、APIから返される値をチェックするための構造が自動生成されています。
例:JSONレスポンスの一部を検証
レスポンス例:
[
{
"name": "Basil",
"birthDate": "2012-08-06",
"id": 2,
...
]
検証設定手順
- Response Module内を選択(例:
API → Test Cases → Petstore → GET getPet Request) -
Status Codeを選択し、Add ボタンを押下 - Payloadの
nameを選択し、Addボタンを押下
これにより、ToscaはTestCase実行時に選択した値の検証(Verify)あるいはBuffer変数への格納が可能になります。
💡 ヒント:
JSON構造の複数の値を選択する場合は、複数選択にて選択しAddボタンを押下し選択可能です。
ステップ4:TestCaseの設定
Moudleで操作した値を実際のTestCaseでパラメータを送信する方法およびResponseのAssertionを検証を設定します。
-
Tosca Commanderの TestCase フォルダ を開く
-
例:
API → Test Cases → Petstore → GET getPet Requestを選択 -
Responseを選択し、検証する値、Buffer変数へ設定する値を設定します。
(ここではStatus Codeの検証とName値をpetName変数に格納します)

ここまでで、一つのAPIRequestに対するテストが実装できることになります。
Tosca CommanderのリボンからRun in Scratchbookを実行する事で動作確認も可能です。
POST・PUTを使用する場合には実際に値を登録・更新する事になるのでご注意ください。
ステップ5:複数リクエストのチェーンを作る
実務では、1つのAPIだけで完結するケースは少なく、複数のリクエストを連携させる必要があります。
例:
-
POST /Ownerで新しいOwnerを登録 -
POST /owners/{ownerid}/petsで新しいPetを登録 -
GET /pet/{id}で登録結果を確認
手順
-
POST /OwerモジュールからTestStepを追加 - レスポンスから
idを抽出 → Tosca Bufferに格納 - 次の
POST /Owers/{ownerid}/petsのURLに${Buffer}を参照して使用 - レスポンスから
idを抽出 → Tosca Bufferに格納 -
GET /pet/{id}で登録結果を確認
POST /pet → extract id → store to buffer
GET /pet/{id=${Buffer.id}}
これにより、API間で動的データを引き継ぐテストが可能になります。
ステップ6:テストを実行して結果を確認する
- TestCaseを右クリック → Run in ScratchBookで仮実行が可能です
- 実行が完了すると、Execution結果が表示されます。
結果は以下のような形式で確認できます:
| ステップ | ステータス | LogInfo |
|---|---|---|
| GET | ✔️ Passed | OK = 期待値一致 |
| POST | ✔️ Passed | 新規登録成功 |
| GET /pet/{id} | ⚠️ Failed | 期待値不一致(例: name不一致) |
💡 ポイント:
テスト失敗時は、Response内容を右クリック→LogInfoで実際のレスポンスを確認できます。
⚠️ よくある落とし穴
| 症状 | 原因 | 解決策 |
|---|---|---|
| パラメータが送信されない | Request構造の選択ミス |
Query or Bodyどちらに入力したか確認 |
| Responseが空 | API実行に失敗 | URL・Header・認証を再確認 |
| 比較で常に失敗 | JSON配列の扱いミス | JSON PathやIndex指定を確認 |
| 文字コード不一致 | Encoding問題 | HeaderにUTF-8を明示 |
まとめ
今回は、ToscaでAPIモジュールからテストケースを作成し、実際に実行する手順を解説しました。
✅ 本記事のポイント:
- モジュールからTestCaseを作成できる
- Query/Header/Bodyを柔軟に設定可能
- JSONレスポンスを検証(Assertion設定)
- API間のデータ引き継ぎ(Buffer利用)
これで、Toscaを使った単体APIテストからシナリオ型APIテストまでカバーできます。
次回
第3回:トークン認証付きAPIをテストする
- OAuth2 / JWT認証の仕組みを理解
- トークンを取得して次のAPIへ渡す
- 実際にToscaでBearer Tokenを扱う方法を解説します。



