Nội dung bài viết
I. Cách sử dụng các loại biến trong postman script
Trong postman có nhiều loại biến với các mục đích khác nhau, bạn nên biết những function cơ bản với những loại biến này để viết script được nhanh và pro hơn.
1. Biến Global
# | Global |
---|---|
Goals | Nhiều mục đích, chủ yếu để quick test, và tất cả các request đều có thể sử dụng. |
Set | pm.globals.set(‘myVariable’, MY_VALUE); |
Get | pm.globals.get(‘myVariable’); |
Remove | pm.globals.unset(‘myVariable’); |
Clear | pm.globals.clear(); |
2. Biến Collection
# | Collection |
---|---|
Goals | Chỉ có sử dụng với các request nằm trong 1 collection, dùng để lưu trữ những biến mà sẽ sử dụng trong quá trình run test mà không khác nhau giữa các môi trường với nhau: dev, test, staging. |
Set | pm.collectionVariables.set(‘myVariable’, MY_VALUE); |
Get | pm.collectionVariables.get(‘myVariable’); |
Remove | pm.collectionVariables.unset(‘myVariable’); |
Clear | pm.collectionVariables.clear(); |
3. Biến Environment
# | Environment |
---|---|
Goals | Dùng riêng cho các môi trường khác nhau của app, có thể lưu các biến mà khác nhau ở mỗi môi trường như URL, username/password, hoặc các data mà dùng cho các request tiếp theo. |
Set | pm.environment.set(‘myVariable’, MY_VALUE); |
Get | pm.environment.get(‘myVariable’); |
Remove | pm.environment.unset(‘myVariable’); |
Clear | pm.environment.clear(); |
Show name | pm.environment.name |
4. Biến Local
Biến này chỉ khởi tạo khi ấn request bắt đầu và clear toàn bộ khi finish khi request kết thúc.
# | Local |
---|---|
Goals | Chỉ dùng trong vòng đời của 1 request |
Set | pm.variables.set(‘myVariable’, MY_VALUE); |
Get | pm.variables.get(‘myVariable’); |
Remove | pm.variables.unset(‘myVariable’); |
Clear | pm.variables.clear(); |
5. Biến Iteration
Đọc thông tin từ file data dạng csv hoặc json.
# | Data |
---|---|
Goals | Chỉ work khi dùng với chức năng đọc file data từ CSV hoặc JSON file từ Runner hoặc Newman |
Get | pm.iterationData.get(‘myVariable’); |
II. Cách lấy giá trị các biến Dynamic
Một thời gian dài trước đây, team postman nhận rất nhiều phản hồi của người dùng về việc thêm thư viện để fake data vào trong postman. Và cuối cùng, team postman đã thỏa mãn người dùng bằng việc cho thêm vào postman rất nhiều biến dynamic, có nghĩa là dummy data mỗi lần run. Ví dụ mỗi lần run, mình lại có 1 random ip.
1. Cách gọi biến bên ngoài script
Sử dụng cú pháp:
{{$ten_bien}} // Ví dụ: {{$randomIP}}
Full list các biến dạng dynamic có ở đây.
2. Cách gọi biến trong Script (pre-request và test)
pm.variables.replaceIn("{{$randomIP}}");
Ví dụ:
III. Tổng kết
Trong postman, có rất nhiều loại biến với scope khác nhau, các bạn có thể thử và tìm cho mình những cách sử dụng thích hợp để có thể sử dụng postman một cách linh hoạt. Theo kinh nghiệm cá nhân của mình, chỉ nên dùng 2 loại biến chính: collection và environment. Biến dạng global và local gần như không cần dùng đến. Ngoài ra bạn nên nắm vững cách dùng biến dynamic để tiết kiệm thời gian fake data.
Anh Giang ơi, biến local
Em test thử thì thấy biến local vẫn được các request trong Collection run sử dụng. Em đọc document của postman thì thấy đoạn này.
https://learning.postman.com/docs/sending-requests/variables/
Ngta đúng đó em, thực ra thì nó vẫn sống cho kết thúc test nên tùy context:
– run 1 request –> sống trong thời gian request
– run 1 collection –> sống trong thời gian collection
Nó mang tính chất là các biến tạm thời, có giá trị trong lần run đó, ko có nhu cầu save cho lần run tiếp theo.