2021/03/15

0 Comments

Postmanと戯れる

 APIの検査をしてほしいという依頼があったので、人生初のPostman を使っています。REST APIを検査するには便利なツールですし、再現性のあるテスト(証拠が残せる)のは素晴らしいことなのですが、テストコレクション内でループが発生する場合があって、それが少し面倒くさいです。例えば登録用のAPIがあったとして、100件連続で違うデータを登録、その直後登録したデータの一覧のAPIを検査したい場合(登録用APIは一覧APIの検査のための前座的扱い)、これらの処理を1コレクションにまとめるとなんだか面倒くさいのです。

テストケース1→2→3→1→2→3・・・

 の場合は1から3をコレクションでまとめてしまえばコレクション自体をイテレートするのはやさしいのですが、

テストケース1→2→2→・・・→2→3(2が100回続く)

 の場合はテストケースのテストスクリプト中でループ用の環境変数を用意しておいて、それをテスト2のテストスクリプトで読み込み・100回ループしたかを検査して、まだ100回ループしていなかったら強制的にテスト2に戻るように

counter = parseInt(pm.environment.get('counter')); // counter環境変数を読み込む
テストケース2のテストを行う
counter++;
if (counter < 100) {
    pm.environment.set('counter', counter); // counter値を環境変数に書き戻す
    postman.setNextRequest("テストケース2"); // もう一回テストケース2をやってくれ
}

 みたいに書かないとダメみたいで。もっと楽なやり方無いものなんでしょうか?テストケース1、2、3それぞれを単独でコレクション化して「このコレクションが終了したら次に呼ばれるコレクションはこれ」っていう指定はできそうなのですが、テストケース2で登録するデータはある程度事前に用意したものにしておいて、一覧のところではソートがちゃんとできてるかみたい、となると結局データの引き回しが必要になりそうで・・・ちょーっと用意するのが面倒になる&各テストを単独で実行できなくなるのが嫌なのです。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です