コンテンツにスキップ

REST API を 5 分でテストする

目標は、OpenAPI 仕様から出発して、一連の流れ全体を検証する自動テストに たどり着くことです。

1. 仕様をインポートする(30 秒)

Section titled “1. 仕様をインポートする(30 秒)”

ファイル ▸ インポートCtrl+I)を開き、openapi.json の URL を指定します。

Restorm はツリー全体を構築します。タグごとにフォルダーが 1 つ、操作ごとに リクエストが 1 つ作られ、型付きのパラメーター、ドキュメント、そして変数が あらかじめ配線された認証ヘッダーが揃います。

OpenAPI インポートが生成した、すぐに使えるツリー。タグごとのフォルダー(pet、store、user)と操作ごとに内容が入力済みのリクエストが、変数フォルダーのホームサブタブの横に表示されています

API に仕様がない場合は、curl コマンドを貼り付けてください。 cURL コマンドのインポート を参照してください。

インポートが作成した変数フォルダーを開きます。ベース URL はすでに入っている ので、インポートが用意した認証用の変数を埋めます。

複数のターゲットをテストする場合は、2 つ目の環境を作成します。 smartbar のセレクターで、フォルダー全体を 一度に切り替えられます。

3. 最初の呼び出しを送る(30 秒)

Section titled “3. 最初の呼び出しを送る(30 秒)”

リクエストを開き、送信 をクリックします。レスポンスが表示されます。 ステータス、時間、ヘッダー、そして折りたたみ可能なビューアーの中のボディです。

何かを忘れていた場合は、URL 欄の下に表示される解決済みの値がそれを教えて くれます。

4. シナリオを組み立てる(2 分)

Section titled “4. シナリオを組み立てる(2 分)”

右クリック ▸ 追加 ▸ シナリオ。ここでは「作成、再取得、削除」という流れを 作ります。

Requête HTTP « POST /clients »
└─response──► Assert (eq, 201)
└─► Définir variable « clientId » ◄── sélecteur body.id
Requête HTTP « GET /clients/{id} »
└─response──► Assert (eq, 200)
└─► Validation schéma (le JSON Schema du client)
Requête HTTP « DELETE /clients/{id} »
└─response──► Assert (eq, 204)

3 つのリクエストはいずれも URL の中で {{clientId}} を使います。最初の ステップで設定された実行時変数が、後続のステップから読み取られます。

各アサーションの done ポートを次のリクエストの in ポートにつなげて、 順番に並べてください。これが実行順序を保証します。

実行 をクリックします。ログが埋まっていきます。重要な内容を記録するには、 各ステップの後に Log アクションを 追加してください。

重要なアサーションの else 出力には Throw アクションをつなぎます。 これが CI のジョブを失敗させる仕組みになります。

Terminal window
RESTORM_TOKEN=rstk_… restorm \
--open ./api.restorm \
--run "Parcours client" \
--headless \
--out run.log

すべて通れば終了コードは 0、そうでなければ 1 です。GitHub Actions と GitLab CI の例は ヘッドレス実行と CI にあります。