API Testing với Postman (Phần 15) – Reuse test script

Đã bao giờ bạn nghĩ là bạn đang duplicate code ở khắp nơi trong postman, và hiện tại bạn chưa tìm được cách để xử lý vấn đề ấy. Bài này sẽ đưa ra 1 cách giúp bạn xử lý vấn đề đó.

Q: Tôi có 1 số common tests, được áp dụng cho các trường hợp giống nhau, có cách nào để tôi không phải copy-patse code vào từng mục [Tests] của từng request không? Ví dụ: tôi muốn check tất cả các request mà sử dụng token sai đều trả về mã code 401 và error_message là “Not logged in or Invalid user session”

A: Okie, mình có 1 cách như sau, bạn save cái code đó vào thành 1 variable trong environment rồi bạn chỉ cần gọi cái code đó ở chỗ nào bạn cần.

Cách mình làm như sau:

I. Sử dụng Pre-request của để save code common tests

Ở đây mình sẽ sử dụng Pre-request của folder to nhất, vì để đảm bảo rằng code được save to environment trước khi run bất kỳ request nào.

pm.environment.set("testNotLoggedin", function testNotLoggedin() {
    
    let jsonData = pm.response.json();

    pm.test("Error not loggedin", function () {
        pm.expect(jsonData.error).to.eql("Not logged in or Invalid user session");
    });

    pm.test("Status code is 401", function () {
        pm.response.to.have.status(401);
    });
} + '; testNotLoggedin();');

Code ở chỗ này khá dễ hiểu, nếu bạn thấy khó hiểu thì đọc lại bài 9. Nếu bạn vẫn có chỗ băn khoăn, hãy để lại comment. 😀

II. Sử dụng code đó ở nơi nào mình muốn

eval(pm.environment.get("testNotLoggedin"));
  • Cái function eval dùng để run cái script.

III. Tổng kết

Bài này, mình chỉ lấy ví dụ 1 trường hợp reuse code cho phần test, bạn có thể sử dụng cách này để áp dụng linh hoạt trong nhiều tình huống khác nhau. Hi vọng có ích cho các bạn.

1 thought on “API Testing với Postman (Phần 15) – Reuse test script

  1. Pingback: API Testing với Postman (Phần 14) – Xử lý array | GiangTester Blog

Leave a Reply

Your email address will not be published. Required fields are marked *