Postmanユーティリティインタフェーステストシリーズ8-実行順序の制御
単一のインタフェースのテストでは、特定の実行順序に関する問題はありません.しかし,複数のインタフェースを用いて1つのビジネスシーンをシミュレートするテストでは,実行順序の問題が必要となる.
まず、一般的にpostmanが走る順番はrequestの上から下までの順番であることを知る必要があります.順序を変更するにはpostmanの内蔵関数
postman.setNextRequest("request name")
1.1要求順序request_の指定A->request_C
Aのスクリプト(pre-request scriptであってもtest scriptであってもよい)に次のコードを書き込む
1.2現在のリクエストrequest_のループA
1.3ワークフローの停止
2.1リクエストスクリプトにpostmanがない場合.setNextRequest()は、デフォルトの上から下の順に実行されます
2.2 postman.setNextRequest()は作用範囲があり、collectionを走っている場合はcollection全体に作用し、同じcollectionの異なるfolderでも互いにジャンプすることができる.folderを走っている場合は、このfolderの範囲内しかなく、folderをまたぐことはできません.
2.3 postman.setNextRequest()は、pre-request scriptまたはtestの任意の場所に置いてもこの特性に影響を与えない、本リクエストが完全に実行された後にのみ実行されます.
シーンを仮定すると、予約書を作成するビジネスシーンをテストする必要があります.あなたが設計したインタフェースロジックは以下の通りです.アクセスインタフェース1は、現在の車両に予約があるか否かを判断する .予約がない場合アクセスインタフェース2は予約 を作成する.予約がある場合はアクセスインタフェース3は予約をキャンセルしてからアクセスインタフェース2は予約 を作成する.
インターフェース1->インターフェース2インターフェース1->インターフェース3->インターフェース2
インタフェース1のスクリプトは次のとおりです.
インタフェース3のスクリプトは、インタフェース2への割り当てです.
参照先:
https://learning.postman.com/...
まず、一般的にpostmanが走る順番はrequestの上から下までの順番であることを知る必要があります.順序を変更するにはpostmanの内蔵関数
postman.setNextRequest()
を使用する必要があります.1.postman.setNextRequest()基本使用
postman.setNextRequest("request name")
1.1要求順序request_の指定A->request_C
Aのスクリプト(pre-request scriptであってもtest scriptであってもよい)に次のコードを書き込む
postman.setNextRequest("request_C");
1.2現在のリクエストrequest_のループA
postman.setNextRequest("request_A");
1.3ワークフローの停止
postman.setNextRequest(null);
2.postman.setNextRequest()注意事項
2.1リクエストスクリプトにpostmanがない場合.setNextRequest()は、デフォルトの上から下の順に実行されます
2.2 postman.setNextRequest()は作用範囲があり、collectionを走っている場合はcollection全体に作用し、同じcollectionの異なるfolderでも互いにジャンプすることができる.folderを走っている場合は、このfolderの範囲内しかなく、folderをまたぐことはできません.
2.3 postman.setNextRequest()は、pre-request scriptまたはtestの任意の場所に置いてもこの特性に影響を与えない、本リクエストが完全に実行された後にのみ実行されます.
3.具体的な使用例
シーンを仮定すると、予約書を作成するビジネスシーンをテストする必要があります.あなたが設計したインタフェースロジックは以下の通りです.
インターフェース1->インターフェース2インターフェース1->インターフェース3->インターフェース2
インタフェース1のスクリプトは次のとおりです.
var data = pm.response.json();
if (data[0].booked == false) {
// 2
postman.setNextRequest(" 2")
}else{
// 3
postman.setNextRequest(" 3")
}
インタフェース3のスクリプトは、インタフェース2への割り当てです.
postman.setNextRequest(" 2")
参照先:
https://learning.postman.com/...