API Testing với Postman (Phần 26) – Quản lý loop và branching

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. =))))

5 2 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments