Nội dung bài viết
I. Quản lý loop và branching
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à:

IV. Tổng kết
Hiện tại, mình chỉ viết 1 example cho phần loop và branching này nhưng bạn hoàn toàn có thể nghĩ ra nhiều TH mà dùng đến nó. Tất nhiên, phần này được coi là phần advance của postman vì nó “đụng” nhiều đến lập trình. Và nếu bạn sợ postman-script, sao không đăng ký khóa học Postman-script và bạn sẽ hết sợ hoặc ….sợ hơn. =))))