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.

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

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.

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.

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.

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.

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
:
- Biến toàn cục cấp dự án
userId = 1000
- Biến module:
userId = 2000
- Biến môi trường:
userId = 3000
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 nằm trên máy chủ của Apidog và đồng bộ với đồng đội. Sử dụng chúng cho cấu hình được chia sẻ, như URL máy chủ kiểm thử và khóa API công khai.
- Giá trị hiện tại chỉ tồn tại trên thiết bị của bạn. Sử dụng chúng cho các bí mật như khóa API cá nhân, mật khẩu hoặc cài đặt môi trường riêng tư.
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ị.

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.

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

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ế.