رفتن به محتوای اصلی
فهرست مستندات
مرجع محیط آزمایشی Postman

مرجع pm.cookies در scriptهای Postman

به‌روزرسانی ۲ دقیقه مطالعه Postman

فهرست مطالب
  1. مرجع pm.cookies در scriptهای Postman
  2. pm.cookies
  3. pm.cookies.jar()
  4. ذخیره cookie با نام و مقدار
  5. ذخیره cookie با object
  6. خواندن و حذف cookieها
  7. پاک‌سازی و سپس ذخیره cookie
  8. چه زمانی از کدام API استفاده کنیم؟

مرجع pm.cookies در scriptهای Postman

با pm.cookies می‌توانید cookieهای دامنه request فعلی را در script بخوانید. اگر لازم است cookieهای یک دامنه مشخص را بخوانید یا تغییر دهید، از pm.cookies.jar() استفاده کنید.

pm.cookies

این متدها روی cookieهای دامنه‌ای کار می‌کنند که در URL request فعلی قرار دارد.

  • pm.cookies.has(cookieName): بررسی می‌کند cookie با نام مشخص وجود دارد یا نه و مقدار true یا false برمی‌گرداند.
  • pm.cookies.get(cookieName): مقدار cookie مشخص‌شده را برمی‌گرداند.
  • pm.cookies.toObject(): همه cookieهای دامنه request فعلی را به‌صورت object برمی‌گرداند.

pm.cookies.jar()

pm.cookies.jar() به شما اجازه می‌دهد cookieهای یک دامنه مشخص را بخوانید یا تغییر دهید. برای استفاده از این متدها باید ابتدا دامنه موردنظر را در allowlist مربوط به دسترسی cookieها اضافه کنید.

فراخوانی‌های Cookie Jar async هستند و با callback اجرا می‌شوند. اگر چند عملیات وابسته دارید، آن‌ها را داخل callback به‌ترتیب اجرا کنید.

ذخیره cookie با نام و مقدار

pm.cookies.jar().set("example.com", "session-id", "abc123", (error, cookie) => {
  if (error) {
    console.error(`An error occurred: ${error}`);
  } else {
    console.log(`Cookie saved: ${cookie}`);
  }
});

ذخیره cookie با object

اگر به تنظیمات بیشتری مثل httpOnly نیاز دارید، می‌توانید یک Cookie object بسازید و به Cookie Jar بدهید:

var Cookie = require("postman-collection").Cookie,
  myCookie = new Cookie({
    name: "session-id",
    value: "abc123e",
    httpOnly: true
  });

pm.cookies.jar().set("example.com", myCookie, (error, cookie) => {
  if (error) {
    console.error(`An error occurred: ${error}`);
  } else {
    console.log(`Cookie saved: ${cookie}`);
  }
});

خواندن و حذف cookieها

  • pm.cookies.jar().get(url, cookieName, callback): مقدار یک cookie را برای دامنه مشخص می‌خواند.
  • pm.cookies.jar().getAll(url, callback): همه cookieهای دامنه مشخص را برمی‌گرداند.
  • pm.cookies.jar().unset(url, cookieName, callback): یک cookie مشخص را حذف می‌کند.
  • pm.cookies.jar().clear(url, callback): همه cookieهای دامنه مشخص را پاک می‌کند.

پاک‌سازی و سپس ذخیره cookie

در این نمونه ابتدا همه cookieهای دامنه پاک می‌شوند و بعد یک cookie جدید ذخیره می‌شود:

pm.cookies.jar().clear("example.com", (error) => {
  pm.cookies.jar().set("example.com", "session-id", "jkl456p", (error, cookie) => {
    if (error) {
      console.error(`An error occurred: ${error}`);
    } else {
      console.log(`Cookie saved: ${cookie}`);
    }
  });
});

چه زمانی از کدام API استفاده کنیم؟

  • برای cookieهای request فعلی، pm.cookies ساده‌تر است.
  • برای کار با دامنه مشخص یا نوشتن و حذف cookie، pm.cookies.jar() مناسب‌تر است.
  • برای اینکه عملیات پشت سر هم درست اجرا شوند، در Cookie Jar از callbackها استفاده کنید.

منبع آموزشی: Postman Docs، بازنویسی و ساده‌سازی‌شده برای کاربران فارسی‌زبان.

ایستگاه بعدی شما

TestRail را همین حالا در محیط دمو ببینید.

محیط تست آماده

دسترسی به دمو TestRail

قبل از ورود، مشخصات زیر را در صفحه ورود محیط دمو وارد کنید.

آدرس دمو

https://demo.testrail.ir

ایمیل ورود

demo@testrail.ir

رمز عبور

demo_user