I. Quản lý loop và custom workflow
Như các bạn đã biết, chức năng runner trong postman có khả năng run nhiều request trong 1 lần chạy, nhưng những request này chỉ có thể run theo thứ tự từ trên xuống dưới mà không thể loop (lặp lại) 1 request nhiều lần hoặc branching (nhảy cóc) xuống 1 vị trí request khác không phải là kế tiếp.
II. Solution
Để giải quyết vấn đề ấy, postman cung cấp 1 function
postman.setNextRequest("request_name");
//request_name = tên request tiếp theo sẽ run
Nếu bạn muốn Runner stop trước khi run những request khác
postman.setNextRequest(null);
III. Ví dụ cụ thể
Bạn muốn lặp lại số lần theo độ dài của 1 array.
- Request 1 tạo 1 array có độ dài là X
- Request 2 sẽ được gọi X lần.
Request 1
//Save array vào biến trong environment
let ids = [1, 2, 3]
pm.environment.set("ids", JSON.stringify(ids));
Request 2
Pre-request Tab
//Lấy từng phần tử từ array, save vào biến
//và update lại array vào environment
let ids = JSON.parse(pm.environment.get("ids"));
pm.environment.set("id", ids.shift())
pm.environment.set("ids", JSON.stringify(ids));
Tests Tab
//Kiểm tra xem array đã hết element chưa, nếu chưa thì lặp lại request
let ids = JSON.parse(pm.environment.get("ids"));
if (ids.length > 0) {
postman.setNextRequest("Req2");
}
Kết quả là:
Nguồn:
https://giangtester.com/api-testing-voi-postman-phan-26-quan-ly-loop-va-branching/