API Testing với Postman (Phần 29) – Làm quen với Postman Flow

I. Giới thiệu

Postman flow là tính năng mình đã mong chờ từ rất lâu, nó cung cấp khả năng tạo ra những flow với nhiều requests và những operations ở giữa các reques, ví dụ:

Register --> Login --> Get User Info --> Update User Info

Hiện tại thì phần document đã có nhưng vẫn khá sơ sài khi thiếu nhiều example. Trong bài viết này mình sẽ cố gắng giải thích cách hoạt động của Postman Flow và lấy 1 ví dụ đơn giản, các tính năng còn lại mình sẽ giới thiệu dần ở các bài tiếp theo.

Lưu ý: Tính năng này vẫn ở giai đoạn Beta, chưa release thực sự, nên có thể thay đổi nhiều trong tương lai.

II. Các thành phần chính của Postman Flow

  • Canvas: Nơi bạn tạo ra flow
  • Block: Các khối nối với nhau
    • Task blocks – thực hiện các task cụ thể (mặc định là asyn – ko tuần tự)
    • Value blocks – tạo và lưu data
    • Operation blocks – thực hiện các action lên data để biến đổi data (mặc định là syn – tuần tự)
  • Toolbar: Các tùy chỉnh để bạn làm việc với flow
  • Context bar: Chứa thông tin của flow

III. Các thành phần chính của 1 block

  • Name: chỉ là tên của kiểu block, ví dụ: Send Request, Terminal, Test Summary
  • Expand: Chỉ là mở rộng cái block lên và nhìn được nhiều thông tin hơn
  • Action Control (hay còn gọi là options menu) thì chỉ có 1 vài options đơn giản
  • Input là dữ liệu đầu vào của 1 block, nó có 2 dạng
    • Màu xanh đậm là required (bắt buộc phải có)
    • Màu xanh nhạt là optional (ko bắt buộc)
    • Có nhiều block ko có input vì bản thân block đó chính là input cho block khác
  • Output là dữ liệu đầu ra của 1 block, tùy loại block mà sẽ có output tương ứng, ví dụ
    • Send request block có 2 output: response & test
    • Condition block có 2 output: accept & reject

Cũng có loại block ko có output, đó là

  • Terminal: dùng để log lại thông tin
  • Test Summary: Lưu trữ lại các kết quả test của các request
  • Signal input + Signal output là tín hiệu đầu vào và đầu ra của 1 block, nó khác Input và Output ở phía trên là nó ko mang dữ liệu (data), nó mang tín hiệu (signal). Nó phục vụ cho các đoạn flow mà chỉ quan trọng ở trình tự run các block, chứ cần truyền dữ liệu (data) từ block này sang block khác.

Ví dụ: run xong request 1, tôi muốn run tiếp request 2, không cần truyền dữ liệu từ response request 1 sang request 2

IV. Ví dụ đơn giản

Ở ví dụ này, mình chỉ làm mỗi 1 việc là run 1 request để xem nó lưu log và test như thế nào.

  • Step 1: Tạo sample request
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

pm.test("correct response", function () {
    const res = pm.response.json();
    pm.expect(res.args.foo).eql("bar");
});
  • Step 2: Tạo flow và đổi tên
  • Step 3: Tạo các block send request, Terminal, Test Summary
  • Step 4. Run flow và xem kết quả
  • Terminal dùng để view response từ request, nếu bạn cần view cả request và response, bạn vẫn dùng Console để xem như bình thường

V. Tổng kết

Postman Flow mở ra cho người dùng khả năng test liên tiếp các api theo flow làm việc của app, mặc dù ở thời điểm hiện tại tính năng này vẫn chưa hoàn thiện, còn rất nhiều điểm phải cải thiện nhưng cũng đủ để chúng ta có thể áp dụng dần vào trong công việc.

Reference: https://learning.postman.com/labs/postman-flows/getting-started/flows-overview/

5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments