Biến Apidog: Hướng Dẫn Sử Dụng và Làm Chủ

Oliver Kingsley

Oliver Kingsley

19 tháng 9 2025

Biến Apidog: Hướng Dẫn Sử Dụng và Làm Chủ

Biến cho phép bạn đặt tên cho một giá trị và tái sử dụng nó ở bất cứ đâu bạn cần.

Ví dụ, thay vì dán một API token thường xuyên thay đổi vào mỗi yêu cầu, hãy định nghĩa một biến như ACCESS_TOKEN và sử dụng {{ACCESS_TOKEN}} trong các yêu cầu của bạn. Khi token hết hạn, bạn chỉ cần cập nhật biến một lần và tất cả các yêu cầu sử dụng nó sẽ tự động nhận giá trị mới.

truy xuất biến trong Apidog

Tổng quan về các loại biến

Apidog hỗ trợ nhiều loại biến, mỗi loại được thiết kế cho các kịch bản cụ thể. Bạn có thể sử dụng: biến toàn cục cấp nhóm, biến toàn cục cấp dự án, biến module, biến môi trường, biến dữ liệu kiểm thử và biến cục bộ.

Biến toàn cục

Biến toàn cục cho phép bạn chia sẻ dữ liệu rộng rãi. Có hai loại:

Biến toàn cục cấp dự án: Giới hạn trong dự án hiện tại. Hoàn hảo để truyền dữ liệu giữa các yêu cầu trong cùng một dự án. Ví dụ, lưu trữ một token từ endpoint đăng nhập dưới dạng biến toàn cục cấp dự án, sau đó tái sử dụng nó trong các yêu cầu khác trong dự án đó.

biến toàn cục cấp dự án

Biến toàn cục cấp nhóm: Được chia sẻ trên tất cả các dự án trong một nhóm. Lý tưởng cho việc cộng tác giữa các dự án. Ví dụ, nếu một dịch vụ xác thực cấp một token được sử dụng bởi nhiều dự án, hãy lưu trữ nó dưới dạng biến toàn cục cấp nhóm.

biến toàn cục cấp nhóm

Lưu ý về quyền: Thành viên thông thường chỉ có thể xem và thay đổi giá trị hiện tại của các biến toàn cục cấp nhóm hiện có. Họ không thể thêm/xóa biến hoặc đổi tên chúng. Chỉ quản trị viên nhóm mới có thể quản lý đầy đủ các biến cấp nhóm trong Team Resources → Variables.

Biến Module

Biến module được giới hạn trong một module cụ thể. Nếu bạn nhập một Postman Collection, các biến collection của nó sẽ được nhập dưới dạng biến module của Apidog.

Chúng rất hữu ích cho cấu hình dành riêng cho module. Ví dụ, một dự án có thể có các module riêng biệt cho người dùng, đơn hàng và sản phẩm—mỗi module có thể giữ cấu hình riêng của mình trong các biến module.

Biến Module

Hãy đảm bảo Apidog được cập nhật để sử dụng biến module.

Biến môi trường

Biến môi trường có thể là loại biến được sử dụng nhiều nhất của bạn. Chúng cho phép bạn chuyển đổi giữa các môi trường mà không cần thay đổi cấu hình cho mỗi yêu cầu.

biến môi trường

Trong thực tế, bạn thường có nhiều môi trường (local, test, staging, production). Mỗi môi trường có các địa chỉ máy chủ, kết nối cơ sở dữ liệu hoặc cấu hình bên thứ ba khác nhau. Với biến môi trường, bạn có thể chuyển đổi giữa chúng ngay lập tức.

Lưu ý: Chỉ một môi trường có thể hoạt động tại một thời điểm. Khi bạn chọn một môi trường, tất cả các biến được định nghĩa trong đó sẽ có hiệu lực.

chuyển đổi giữa các biến môi trường

Biến dữ liệu kiểm thử

Biến dữ liệu kiểm thử thúc đẩy kiểm thử dựa trên dữ liệu. Khi bạn cần kiểm thử cùng một endpoint với nhiều bộ dữ liệu, đây là người bạn của bạn.

Chuẩn bị một tệp CSV hoặc JSON với nhiều hàng (hoặc đối tượng). Trong một kịch bản kiểm thử tự động, hãy nhập tệp, và Apidog sẽ lặp qua từng hàng như một bộ biến và thực thi kiểm thử cho mỗi hàng.

nhập tệp CSV hoặc JSON vào Apidog

Biến cục bộ

Biến cục bộ có thời gian sống ngắn nhất—chỉ có hiệu lực trong một yêu cầu hoặc lần chạy kiểm thử duy nhất. Chúng biến mất sau khi thực thi.

Bởi vì biến cục bộ có độ ưu tiên cao nhất, chúng hoàn hảo để tạm thời ghi đè các loại biến khác. Ví dụ, môi trường của bạn định nghĩa user_id, nhưng đối với một kiểm thử đặc biệt, bạn cần một giá trị khác—hãy đặt một biến cục bộ có cùng tên thay vì thay đổi môi trường.

Độ ưu tiên của biến

Khi nhiều biến có cùng tên, Apidog sẽ giải quyết chúng theo độ ưu tiên (từ cao nhất đến thấp nhất): Biến cục bộ > Biến dữ liệu kiểm thử > Biến môi trường > Biến module > Biến toàn cục cấp dự án > Biến toàn cục cấp nhóm

Ví dụ: Nếu bạn định nghĩa ba biến có tên userId:

Khi bạn sử dụng {{userId}} trong một yêu cầu, giá trị hiệu quả là 3000 (từ môi trường). Nếu không có giá trị môi trường, nó sẽ quay về giá trị module (`2000`), sau đó đến giá trị toàn cục của dự án (`1000`).

Giá trị ban đầu so với giá trị hiện tại

Các biến toàn cục, module và môi trường đều có cả giá trị ban đầu và giá trị hiện tại—điều này cân bằng giữa việc chia sẻ nhóm và quyền riêng tư cá nhân.

giá trị ban đầu và hiện tại trong Apidog

Khi một giá trị hiện tại tồn tại, Apidog sẽ ưu tiên nó. Nếu giá trị hiện tại trống, Apidog sẽ sử dụng giá trị ban đầu. Muốn giá trị hiện tại tuân theo giá trị ban đầu? Nhấp vào biểu tượng liên kết bên cạnh giá trị hiện tại để liên kết lại.

Các giá trị hiện tại được lưu trữ trên thiết bị của bạn và có thể bị mất nếu bạn xóa bộ nhớ cache hoặc chuyển đổi thiết bị. Trong phiên bản web của Apidog, chúng được lưu trữ trong trình duyệt. Để chuyển sang thiết bị mới, hãy xuất/nhập môi trường để di chuyển các giá trị hiện tại.

Lưu ý: Khi chạy các kiểm thử tự động với Apidog CLI, hãy ghi nhớ một điểm khác biệt quan trọng: Client Apidog sử dụng các giá trị hiện tại trong quá trình thực thi, trong khi CLI sử dụng các giá trị ban đầu. Nếu kết quả khác nhau giữa client và CLI, đây là một lý do phổ biến.

Các cách để đặt biến

Chọn phương pháp phù hợp nhất với nguồn gốc của giá trị và cách bạn sẽ sử dụng nó.

Đặt biến trực tiếp trong trang quản lý môi trường

Phương pháp đơn giản nhất. Nhấp vào nút Quản lý môi trường (góc trên bên phải), chuyển sang môi trường toàn cục hoặc một môi trường cụ thể, sau đó thêm tên và giá trị.

đặt biến trực tiếp trong trang quản lý môi trường

Phương pháp này rất tốt cho các cấu hình ổn định như kết nối cơ sở dữ liệu. Bạn có thể đặt cả giá trị ban đầu (chia sẻ) và giá trị hiện tại (riêng tư).

Sử dụng tính năng "Lưu biến"

Thông thường, giá trị biến đến từ một phản hồi—như một token từ endpoint đăng nhập hoặc một ID người dùng từ endpoint tạo người dùng. Sử dụng "Lưu biến" trực quan trong Post Processors để thiết lập một biến mới.

Trong Post Processors của một yêu cầu, hãy thêm "Store Variable", chọn nguồn (thường là phản hồi JSON), và chọn trường bằng cách sử dụng JSONPath.

lưu biến trong Apidog

Ví dụ, nếu JSON phản hồi là:

{
    "user": {
        "id": "69",
        "email": "Ralph85@gmail.com",
        "first_name": "Katlynn",
        "last_name": "Reichert",
        "api_token": "dolore ut mollit Duis sit",
        "created_at": "2025-09-19T01:03:50.236Z",
        "updated_at": "2025-05-10",
        "deleted_at": "2025-09-18T18:30:51.217Z",
        "role": "developer",
        "metadata": {}
    }
}

Sử dụng $.user.email để trích xuất token.

Bạn cũng có thể đặt biến trực tiếp từ phần phản hồi của một yêu cầu.

đặt biến trực tiếp từ phần phản hồi của một yêu cầu

Đặt biến thông qua Script

Đối với logic phức tạp hơn, hãy sử dụng Custom Script trong Pre Processors hoặc Post Processors. Apidog cung cấp một API script đầy đủ để thao tác với tất cả các loại biến.

// Đặt biến toàn cục cấp dự án

pm.globals.set('variable_key', 'variable_value');

// Đặt biến toàn cục cấp nhóm (phải được định nghĩa trên trang Team Resources trước)

pm.globals.set('variable_key', 'variable_value', 'TEAM');

// Đặt biến môi trường

pm.environment.set('variable_key', 'variable_value');

// Đặt biến module

pm.moduleVariables.set('variable_key', 'variable_value');

// Đặt biến cục bộ

pm.variables.set('variable_key', 'variable_value');

Khi lưu trữ đối tượng hoặc mảng, hãy chuyển chúng thành chuỗi trước và phân tích cú pháp khi đọc. Ví dụ:

pm.environment.set('user', JSON.stringify(userObj));

const users = JSON.parse(pm.environment.get('user'));

Lưu ý: Script chỉ có thể đặt giá trị hiện tại của các biến. Giá trị ban đầu nên được đặt trong trang Quản lý môi trường.

Sử dụng dữ liệu cơ sở dữ liệu làm biến

Apidog có thể lấy dữ liệu trực tiếp từ cơ sở dữ liệu và đặt nó làm biến—rất tốt cho các kiểm thử dựa trên các bản ghi thực.

Thêm một Thao tác cơ sở dữ liệu trong Post Processors, cấu hình kết nối và viết SQL. Sau đó trích xuất các trường vào biến bằng JSONPath.

sử dụng dữ liệu cơ sở dữ liệu làm biến

Mẹo sử dụng biến

Nơi biến hoạt động

Biến chỉ được giải quyết khi một yêu cầu thực sự được gửi đi. Điều đó có nghĩa là bạn có thể sử dụng chúng trong headers, params, body, kịch bản kiểm thử và script—bất cứ nơi nào liên quan đến việc gửi một yêu cầu.

Bởi vì Apidog ưu tiên hình ảnh, một quy tắc đơn giản là: nếu bạn thấy nút "Giá trị động", bạn có thể sử dụng biến ở đó.

Cú pháp cơ bản

Sử dụng hai dấu ngoặc nhọn để tham chiếu một biến: {{variableName}}. Điều này hoạt động trong URL, headers, params và body.

Ví dụ, trong params:

Và trong body:

Lưu ý cho JSON bodies: biến chuỗi cần dấu ngoặc kép, biến số không cần. Hai dấu ngoặc nhọn có thể gây ra cảnh báo JSON lint, nhưng chúng có thể được bỏ qua một cách an toàn.

Nếu bạn thấy "biến chưa được giải quyết", đừng hoảng sợ. Các biến được đặt trong Post Processors hoặc script có thể không tồn tại cho đến khi yêu cầu chạy, và các biến cục bộ biến mất sau khi chạy. Cách tốt nhất để xác nhận là thực sự gửi yêu cầu.

Lấy các trường con từ một biến

Đôi khi các biến của bạn lưu trữ đối tượng hoặc mảng, không chỉ chuỗi hoặc số. Ví dụ, một API người dùng thường trả về một đối tượng với id, tên, email, v.v.

Giả sử bạn đã lưu trữ đối tượng phản hồi này dưới dạng một biến có tên user:

{
  "id": 1001,
  "name": "Joe",
  "email": "joe@example.com",
  "role": "admin"
}

Bạn có thể tham chiếu các trường cụ thể bằng ký hiệu dấu chấm, như {{user.id}} (1001) hoặc {{user.name}} ("Joe").

Đối với mảng, tương tự. Nếu bạn có một biến users:

[
  {"id": 1001, "name": "Joe"},
  {"id": 1002, "name": "Rio"},
  {"id": 1003, "name": "Outher"}
]

Sử dụng {{users[0].name}} để lấy tên của người dùng đầu tiên, hoặc {{users[1].id}} cho id của người dùng thứ hai.

Điều này tuân theo ngữ nghĩa giống JSONPath—tên biến hoạt động như gốc ($).

Sử dụng biến trong Script

Bạn có thể sử dụng biến trong các script tùy chỉnh của Pre Processors hoặc Post Processors. Apidog cung cấp một bộ API script đầy đủ, cho phép bạn truy cập linh hoạt các loại biến khác nhau.

// Lấy biến toàn cục cấp dự án

pm.globals.get('variable_key');

// Lấy biến toàn cục cấp nhóm

pm.globals.get('variable_key', 'TEAM');



// Lấy biến môi trường

pm.environment.get('variable_key');



// Lấy biến module

pm.moduleVariables.get('variable_key');



// Lấy biến cục bộ

pm.variables.get('variable_key');

Đối với đối tượng/mảng được lưu trữ dưới dạng chuỗi, hãy phân tích cú pháp trước:

const userObj = JSON.parse(pm.environment.get('user'));

console.log(userObj.name);

Kiểm thử dựa trên dữ liệu với biến dữ liệu kiểm thử

Tải lên một tệp CSV hoặc JSON chứa nhiều hàng dữ liệu. Trong quá trình thực thi, Apidog sẽ thay thế {{variableName}} bằng các giá trị từ mỗi hàng và chạy kiểm thử một lần cho mỗi hàng—hoàn hảo để xác thực tính mạnh mẽ với nhiều đầu vào.

Biểu thức giá trị động

Ngoài các biến của riêng bạn, Apidog hỗ trợ các giá trị động, tạo ra dữ liệu ngẫu nhiên theo các quy tắc cụ thể.

Trong script, bạn có thể xử lý các chuỗi bao gồm các biểu thức động bằng await pm.variables.replaceInAsync():

const template = "Hello, {{$person.fullName}}";

const result = await pm.variables.replaceInAsync(template);

console.log(result); // Xuất ra một tên được tạo ngẫu nhiên

Giá trị động hoàn hảo để tạo dữ liệu kiểm thử ngẫu nhiên mà không cần chuẩn bị tập dữ liệu trước.

Tóm tắt

Biến là một trong những tính năng mạnh mẽ nhất trong Apidog. Chúng giúp giảm lặp lại, làm cho các kiểm thử linh hoạt và đơn giản hóa việc chuyển đổi giữa các dự án và môi trường. Cho dù bạn đang chia sẻ cài đặt toàn cục giữa các nhóm, thực hiện kiểm thử với dữ liệu CSV hay ghi đè các giá trị cục bộ, biến giúp quy trình làm việc của bạn hiệu quả và có tổ chức. Bằng cách nắm vững các loại biến, độ ưu tiên và cách đặt chúng, bạn có thể đảm bảo các yêu cầu API của mình luôn nhất quán, dễ bảo trì và sẵn sàng cho các kịch bản thực tế.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API