Biến động Postman trong phần thân yêu cầu

Biến động, như tên gợi ý, tạo dữ liệu ngẫu nhiên cho các yêu cầu API của bạn và chạy bộ sưu tập. Nó giống như một thư viện ngẫu nhiên trong ngôn ngữ lập trình. Nó tạo dữ liệu ngẫu nhiên mỗi lần phản hồi như số ngẫu nhiên, bảng chữ cái, chữ và số hoặc màu sắc, v.v.

Tên biến động bắt đầu bằng '$. ' Trong phần URL yêu cầu, một biến động phải được viết ở định dạng {{__}}

Giả sử bạn phải chuyển một số nguyên từ 1 đến 1000, để làm được điều đó, bạn cần thêm {{$randomInt}}

Giống như ví dụ trên về biến số, Postman cũng hỗ trợ rất nhiều biến động khác

Tôi đang gửi một yêu cầu và nó trả về một vài bản ghi phản hồi và nó được hiển thị ở trang 1. Tôi có nhiều trang phản hồi. Sau khi nhận được phản hồi của trang đầu tiên, tôi đang in nội dung yêu cầu bằng cách sử dụng “bảng điều khiển. nhật ký [JSON. xâu chuỗi [chiều. yêu cầu]];" . sendRequest[] để chạy yêu cầu bên trong vòng lặp for. Tôi muốn chuyển một số trang khác cho yêu cầu cho mỗi lần chạy trong vòng lặp

Dưới đây là nội dung yêu cầu của tôi

{"url". {"ẩn cố ý},

"tiêu đề". [ẩn cố ý],

"phương pháp". "BƯU KIỆN",

“cơ thể”. {"cách thức". “đồ thịql”,“đồ thịql”.
{“truy vấn”. “truy vấn [$start. Chuỗi. , $ kết thúc. Chuỗi. , trang $. số nguyên. ] \r\n{\r\n itemClassUpdates[bắt đầu. $ bắt đầu, kết thúc. $end, trang. $page] \r\n {\r\n trang\r\n totalPages\r\n bắt đầu\r\n kết thúc\r\n sự kiện \r\n {\r\n sự kiện\r\n itemClass\r . "{\r\n “bắt đầu”. “2020-08-13T13. 28. 10Z”,\r\n “kết thúc”. “2020-08-13T13. 55. 18Z”,\r\n “trang”. 1\r\n \r\n}"},
“variables”:"{\r\n “start”: “2020-08-13T13:28:10Z”,\r\n “end”: “2020-08-13T13:55:18Z”,\r\n “page” : 1\r\n \r\n}"},
“tùy chọn”. {“đồ thị”. {}}
}
}

Điều này có thể gửi số trang động qua chiều không. hàm sendRequest vào biến trang trong người đưa thư?

Câu hỏi của bạn có thể đã có câu trả lời trên diễn đàn cộng đồng. Vui lòng tìm kiếm các chủ đề liên quan, sau đó đọc qua hướng dẫn trước khi tạo chủ đề mới

Đây là một phác thảo với các phương pháp hay nhất để thực hiện yêu cầu của bạn

Câu hỏi của tôi.
Xin chào, tôi cần gửi một nội dung động tùy thuộc vào môi trường nơi tôi đang làm việc, nhưng vì số lượng thứ sẽ thay đổi từ môi trường này sang môi trường khác là rất lớn nên tôi đã quyết định . Tôi đã xóa hầu hết chúng vì đây là dữ liệu sản xuất nhưng trong ví dụ này, bạn có thể thấy ý tưởng.

Tôi có một externalId cũng động, tôi nhận được nó từ một yêu cầu khác, và sau đó tôi cần thêm nó vào trong bài đăng này một cách linh hoạt, tương tự với giá trị của ngày hôm nay. Thật không may với định dạng này, tôi không thấy giá trị Id bên ngoài và ngày là động bên trong JSON, nó không được thay thế

Tôi đã thử sử dụng giải pháp này Thay đổi nội dung yêu cầu [RAW JSON] dynamicalls - #13 by zmes50416

Cảm ơn trước

Chi tiết [như ảnh chụp màn hình]

Đây là mã

const khoảnh khắc = yêu cầu ['thời điểm'];

buổi chiều. môi trường. set[“hôm nay”, khoảnh khắc[]. định dạng ["YYYY-MM-DD"]];

bảng điều khiển. thông tin ["ngày hôm nay. " + chiều. môi trường. get[“hôm nay”]];

var prodBody = '{"nguồn gốc". “PC”, “loại”. “VIẾT”, “người dùng”. {{externalId}}, “ngày”. {{hôm nay}}, “type2”. "duy nhất"}';

const prodEnv = [‘Prod’, ‘Staging’];

nếu [prodEnv. bao gồm [chiều. môi trường. Tên] ]

{

pm.collectionVariables.set['req_body',prodBody];

}

khác{

pm.collectionVariables.set['req_body', JSON.stringify[qaBody]];

}

bảng điều khiển. nhật ký [chiều. bộ sưu tậpBiến. get[‘req_body’]];

Đây là giá trị mà tôi có trong cơ thể

{{req_body}}

Đây là những gì tôi nhận được từ bảng điều khiển khi thực hiện yêu cầu, vì bạn có thể thấy các biến không được cập nhật thành công. Tôi biết rằng những giá trị đó là chính xác

hình ảnh1361×79 5. 27KB

Tôi đã tìm thấy sự cố như thế nào.
Cố gắng tạo nội dung động với các biến động bên trong

Tôi đã thử rồi.
Tôi đã làm các trường hợp sau, cũng xóa trích dẫn nhưng cả hai đều không hiệu quả

buổi chiều. bộ sưu tậpBiến. set['req_body',prodBody];

buổi chiều. bộ sưu tậpBiến. thiết lập ['req_body',JSON. stringify[qaBody]];

var prodBody = {“nguồn gốc”. “PC”, “loại”. “VIẾT”, “người dùng”. {{externalId}}, “ngày”. {{hôm nay}}, “type2”. "duy nhất"};

Chào Alex,

Đó là một điều kỳ lạ. Đối với tôi, các phần cốt lõi trong tập lệnh của bạn đều hoạt động theo cách mà bạn mong đợi - đây là phiên bản rút gọn luôn sử dụng prodBody để đặt biến req_body

Đoạn trích
const moment = require['moment'];

pm.environment.set['today', moment[].format["YYYY-MM-DD"]];

pm.environment.set['externalId', '{{$randomInt}}'];

var prodBody = '{"origin":"PC","type":"WRITTEN","user":{{externalId}}, "date": "{{today}}", "type2": "unique"}';

pm.collectionVariables.set['req_body',prodBody];

Khi tôi đăng tải trọng đó lên https. // người đưa thư-echo. com/post thì bảng điều khiển [và phản hồi được nhân đôi] tiết lộ rằng các biến đã được thay thế như bạn mong đợi

Cách sử dụng biến động trong Postman pre

Để sử dụng biến động trong yêu cầu trước hoặc tập lệnh thử nghiệm, bạn cần sử dụng chiều. biến. replaceIn[] , ví dụ chiều. biến.

Làm cách nào để đặt biến toàn cục một cách linh hoạt trong Postman?

Biến chung và biến động .
Nhấn biểu tượng răng cưa ở trên cùng bên phải ứng dụng, ngay phía trên nút Lưu
Nhấn nút Toàn cầu
Trong trường Thêm biến mới, hãy đặt tên cho biến [e. g. new_global_number ]
Trong trường Giá trị ban đầu, hãy nhập 15 làm giá trị, giá trị này cũng sẽ điền vào trường Giá trị hiện tại

Cách sử dụng các biến môi trường trong pre

Bước 1 − Chọn một Môi trường – Environment_Test từ trình đơn thả xuống Không có Môi trường. .
Bước 2 – Trong thanh địa chỉ, nhập {{URL}} [một biến Môi trường có sẵn cho Môi trường_Test]. .
Bước 3 - Điều hướng đến tab Tập lệnh yêu cầu trước và thêm tập lệnh bên dưới - người đưa thư. setEnvironmentVariable['tutorial','postman']

Chủ Đề