مرجع pm.request در scriptهای Postman #
آبجکت pm.request اطلاعات request فعلی را در اختیار script قرار میدهد. در pre-request script، این همان requestای است که قرار است اجرا شود؛ در post-response script، همان requestای است که اجرا شده است.
از pm.request میتوانید برای خواندن بخشهای مختلف request و در برخی موارد تغییر تنظیمات قبل از اجرا استفاده کنید. برای تغییر headerها، متدهای pm.request.headers کاربرد دارند.
متدهای header #
pm.request.headers.add(header): یک header با نام و مقدار مشخص به request فعلی اضافه میکند.pm.request.headers.remove(headerName): header مشخصشده را از request حذف میکند.pm.request.headers.upsert({ key, value }): اگر header وجود نداشته باشد آن را اضافه میکند؛ اگر وجود داشته باشد مقدارش را بهروزرسانی میکند.
نمونه افزودن header #
pm.request.headers.add({
key: "client-id",
value: "abcdef"
});
Propertyهای pm.request #
pm.request.url: URL request.pm.request.headers: فهرست headerهای request فعلی.pm.request.method: متد HTTP مثلGET،POSTیاPUT.pm.request.methodPath: نام package، service و method در قالبpackageName.serviceName.methodName.pm.request.body: داده body request. این object از داخل script قابل تغییر نیست.pm.request.auth: اطلاعات authentication مربوط به request.pm.request.metadata: فهرست metadata ارسالشده همراه request؛ هر مورد شاملkeyوvalueاست.pm.request.messages: فهرست messageهای خروجی. هر message شاملdataوtimestampاست.
نکته درباره messageها #
برای requestهایی با روش unary یا server streaming، فهرست pm.request.messages فقط یک message در index صفر دارد و میتوانید آن را با pm.request.messages.idx(0) بخوانید.
محدودیت تغییر request #
تغییر مستقیم کل request از طریق آبجکت pm پشتیبانی نمیشود. اگر نیاز دارید request را قبل از ارسال تنظیم کنید، از قابلیتهایی مثل مدیریت headerها، variableها و تنظیمات خود request استفاده کنید.
منبع آموزشی: Postman Docs، بازنویسی و سادهسازیشده برای کاربران فارسیزبان.

