رفتن به محتوای اصلی
فهرست مستندات
تست عملکرد

استفاده از data file برای شبیه‌سازی virtual userها در Postman

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

فهرست مطالب
  1. اجرای performance test با data file
  2. روش‌های VU data mapping
  3. فرمت data file
  4. Debug کردن errorهای data file

در performance testهای Postman می‌توانید برای هر virtual user داده متفاوت وارد کنید. این قابلیت برای زمانی مفید است که می‌خواهید رفتار کاربران واقعی را بهتر شبیه‌سازی کنید؛ مثلاً هر کاربر با شناسه، محصول، شهر یا مقدار متفاوتی request ارسال کند.

به صورت پیش‌فرض، همه virtual userها requestهای یکسان را با مقدارهای یکسان اجرا می‌کنند. اما اگر یک فایل CSV یا JSON وارد کنید، هر virtual user می‌تواند از یک ردیف متفاوت داده استفاده کند.

نکته: استفاده از custom data file برای performance test در پلن‌های پولی Postman در دسترس است.

اجرای performance test با data file

قبل از شروع، variableهایی را که می‌خواهید در requestها استفاده کنید داخل collection تعریف کنید. سپس یک فایل داده بسازید که نام ستون‌ها یا keyها با نام همان variableها یکی باشد.

برای اجرای performance test با data file:

  1. performance test را پیکربندی کنید و تعداد Virtual users، مدت تست و Load profile را مشخص کنید.
  2. در بخش Data file فایل CSV یا JSON را انتخاب کنید. بعد از انتخاب، Postman پیش‌نمایش داده‌ها را نشان می‌دهد.
  3. اگر Postman نوع فایل را درست تشخیص نداد، نوع data file را به صورت دستی روی CSV یا JSON بگذارید.
  4. در بخش VU data mapping مشخص کنید ردیف‌های فایل چطور به virtual userها وصل شوند.
  5. برای فایل CSV، اگر لازم است نوع هر ستون را به String، Boolean یا Number تغییر دهید.
  6. روی Continue کلیک کنید و سپس تست را با Run اجرا کنید.
پیش‌نمایش data file و انتخاب CSV یا JSON در performance test پستمن
انتخاب نوع داده و mapping ردیف‌های data file برای virtual userها

روش‌های VU data mapping

  • Ordered: هر VU یک ردیف مشخص از data file را استفاده می‌کند. VU اول ردیف اول، VU دوم ردیف دوم و همین‌طور ادامه پیدا می‌کند. اگر ردیف اضافه وجود داشته باشد استفاده نمی‌شود.
  • Randomized: هر VU در هر بار اجرای collection یک ردیف تصادفی از فایل را استفاده می‌کند.

اگر حالت Ordered را انتخاب کنید اما تعداد ردیف‌های فایل کمتر از تعداد virtual userها باشد، بعضی VUها داده دریافت نمی‌کنند. در این حالت یا ردیف‌های بیشتری به فایل اضافه کنید، یا mapping را روی Randomized بگذارید.

فرمت data file

در فایل CSV، ردیف اول باید نام variableها باشد. هر ردیف بعدی یک مجموعه داده برای اجراست. line ending فایل باید Unix باشد و همه ردیف‌ها باید تعداد ستون یکسان داشته باشند.

Pet,Id
dog,12345
cat,56789
iguana,123
goldfish,1234
llama,3
gerbil,3481

برای CSV به این نکته‌ها دقت کنید:

  • اگر عددهای فایل بیشتر از ۱۵ رقم هستند، در spreadsheet آن‌ها را به صورت text ذخیره کنید تا هنگام export به CSV کوتاه نشوند.
  • اگر عدد بیشتر از ۱۶ رقم، عدد با صفر اول مثل 000000345 یا شماره تلفن مثل +12125556709 دارید، در Postman نوع ستون را String انتخاب کنید.

فایل JSON باید یک array از objectها باشد. هر key نام variable است و value مقداری است که داخل request استفاده می‌شود.

[
  {
    "Pet": "Dog",
    "Id": 12345
  },
  {
    "Pet": "Cat",
    "Id": 56789
  },
  {
    "Pet": "Iguana",
    "Id": 123
  },
  {
    "Pet": "Goldfish",
    "Id": 1234
  },
  {
    "Pet": "Llama",
    "Id": 3
  },
  {
    "Pet": "Gerbil",
    "Id": 3481
  }
]

نام variableها case-sensitive است. یعنی Pet و pet یکسان نیستند. در scriptها می‌توانید داده‌ها را با pm.variables.get("variable_key") بخوانید. variableهای data file در زمان اجرا مثل local variable resolve می‌شوند.

Debug کردن errorهای data file

اگر هنگام استفاده از data file خطا رخ داد، بعد از پایان performance test تب Errors را باز کنید. error class را expand کنید و روی request کلیک کنید تا response، header و body را ببینید. با کلیک روی نام data file هم می‌توانید variable data استفاده‌شده برای همان request را بررسی کنید.

data fileها برای performance runهای قبلی ذخیره نمی‌شوند؛ بنابراین اگر بعداً به داده‌ها نیاز دارید، فایل اصلی را جداگانه نگه دارید.

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

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

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

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

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

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

آدرس دمو

https://demo.testrail.ir

ایمیل ورود

demo@testrail.ir

رمز عبور

demo_user