تصور کن که در یک دنیای بدون اینترنت و اپلیکیشنهای پیچیده زندگی میکنی. دنیایی که در اون برای هر کار کوچیکی باید ساعتها وقت بذاری و هیچ اپلیکیشنی وجود نداره که زندگیت رو آسونتر کنه. حالا بیا برگردیم به زمان حال. امروزه همه چیز دیجیتال و آنلاین هست. از خرید کردن گرفته تا ارتباط با دوستان، همه و همه از طریق اپلیکیشنها و سرویسهای آنلاین انجام میشه. یکی از ابزارهای کلیدی که توسعه دهندگان برای ساخت و تست این اپلیکیشنها استفاده میکنند، Postman هست.
داستان پیدایش Postman
بیا برگردیم به اوایل دهه 2000، اون موقع که برنامه نویسا برای تست APIهاشون باید کلی کد پیچیده مینوشتن و زمان زیادی رو صرف میکردن. این کار هم وقت گیر بود و هم احتمال خطاها رو بالا میبرد. برنامه نویسا نیاز به یه ابزار ساده و کارآمد داشتن که بتونن به راحتی APIهاشون رو تست و دیباگ کنن.
در سال 2012، یه برنامه نویس هندی به اسم Abhinav Asthana تصمیم گرفت این مشکل رو حل کنه. اون یه ابزاری به نام Postman توسعه داد که خیلی زود بین برنامه نویسا محبوب شد. Postman به برنامه نویسا این امکان رو میداد که به راحتی درخواستهای HTTP رو ارسال کنن و پاسخها رو بررسی کنن.
زندگی بدون Postman: کابوس توسعه دهندگان
تصور کن Postman وجود نداشت. برنامه نویسا مجبور بودن برای تست هر API، یه اپلیکیشن جداگانه بنویسن. این کار هم زمان زیادی میبرد و هم احتمال خطاها رو بیشتر میکرد. بدون Postman، توسعه و تست APIها به یه کابوس تبدیل میشد و پروژهها ممکن بود با تأخیرهای زیادی روبرو بشن.
Postman چیست؟
حالا که داستان جذاب Postman رو شنیدی، بیا با این ابزار بیشتر آشنا بشیم. Postman یه ابزار قدرتمند برای تست و دیباگ APIهاست که به برنامه نویسا این امکان رو میده تا به راحتی درخواستهای HTTP رو ارسال و پاسخها رو بررسی کنن. این ابزار اول به شکل یه افزونه مرورگر شروع به کار کرد و حالا به یه اپلیکیشن مستقل با قابلیتهای خیلی گسترده تبدیل شده.
Postman بهت این امکان رو میده تا درخواستهای GET، POST، PUT، DELETE و کلی متد دیگه رو ارسال کنی و پاسخهای سرور رو کامل ببینی. این ابزار همچنین کلی قابلیت برای مدیریت و مستندسازی APIها داره.
ویژگیهای Postman
حالا که تا اینجا اومدی، وقتشه که با ویژگیهای جذاب و کاربردی Postman بیشتر آشنا بشی. این ابزار امکانات خیلی خوبی داره که کار برنامه نویسا رو راحتتر و لذت بخشتر میکنه. بیا با هم یه نگاهی بندازیم به این ویژگی ها.
رابط کاربری ساده و کاربرپسند
Postman یه رابط کاربری خیلی ساده و دوست داشتنی داره که حتی اگه تازه کار باشی هم میتونی به راحتی باهاش کار کنی. همه چیز سر جای خودش قرار داره و به راحتی میتونی درخواستهای مختلف رو ارسال و پاسخها رو بررسی کنی.
مدیریت مجموعهها (Collections)
یکی از ویژگیهای خیلی خوب Postman اینه که میتونی درخواست هات رو در قالب مجموعهها یا همون Collections دسته بندی کنی. اینجوری اگه چندین API مختلف داری، میتونی به راحتی اونها رو مدیریت کنی و همیشه دسترسی سریعی بهشون داشته باشی.
محیطها (Environments)
با استفاده از ویژگی Environments میتونی متغیرهای مختلفی رو برای درخواست هات تعریف کنی. مثلاً اگه داری روی یه پروژه با چند محیط مختلف (مثل توسعه، تست، تولید) کار میکنی، میتونی به راحتی بین این محیطها سوییچ کنی و متغیرهای مخصوص هر محیط رو استفاده کنی.
تستهای خودکار (Automated Tests)
Postman این امکان رو بهت میده که برای درخواست هات تستهای خودکار بنویسی. این یعنی میتونی به راحتی مطمئن بشی که APIهات درست کار میکنن و خطایی ندارن. فقط کافیه یه چند خط کد ساده بنویسی و Postman بقیه کارها رو برات انجام میده.
مستندسازی APIها
یکی دیگه از ویژگیهای جذاب Postman اینه که میتونی به راحتی APIهات رو مستندسازی کنی. اینجوری هم خودت همیشه میدونی هر API چیکار میکنه و هم اگه بخوای با بقیه اعضای تیم به اشتراک بذاری، کارشون راحتتر میشه.
مخزن API (API Repository)
یکی از امکانات باحال این پلتفرم اینه که میتونی تمام اشیای API خودت رو توی یه مخزن مرکزی ذخیره کنی. اینجوری به راحتی میتونی اونها رو پیدا کنی و با همکارانت به اشتراک بذاری.
ابزارهای API (API Tools)
Postman یه مجموعه کامل از ابزارها داره که بهت کمک میکنه تا APIهات رو طراحی، توسعه، تست، مستندسازی، شبیه سازی و نظارت کنی. همچنین، میتونی APIهای بقیه رو کشف و مصرف کنی.
فضاهای کاری (Workspaces)
Postman بهت این امکان رو میده که فضاهای کاری مختلفی ایجاد کنی. مثلا میتونی فضاهای کاری شخصی، تیمی یا عمومی داشته باشی. اینجوری اگه چند نفر روی یه پروژه کار میکنن، میتونن به راحتی با هم هماهنگ بشن و کارها رو سازماندهی کنن.
قوانین حاکمیت (Governance Rules)
با استفاده از Postman میتونی قوانین حاکمیتی برای APIهات تعریف کنی. اینجوری مطمئن میشی که APIهات با استانداردها و شیوههای سازمانی مطابقت دارن و کیفیت و سازگاری بهتری دارن.
ادغامها (Integrations)
Postman قابلیت ادغام با ابزارهای دیگه مثل GitHub، Slack، Jenkins و غیره رو داره. این ادغامها بهت کمک میکنن تا فرآیند توسعه API رو سادهتر و خودکار کنی. همچنین میتونی قابلیتهای Postman رو از طریق APIهای خود Postman و فناوریهای منبع باز گسترش بدی.
اصطلاحات رایج Postman
حالا که با Postman آشنا شدی، وقتشه که با یه سری از اصطلاحات رایجش هم آشنا بشی. این اصطلاحات بهت کمک میکنن تا بهتر متوجه بشی چطور با این ابزار کار کنی و از همه قابلیت هاش بهره ببری.
API
API مخفف "رابط برنامه نویسی کاربردی" یا همون Application Programming Interface هست. این رابط نرم افزاری به دو اپلیکیشن اجازه میده تا با هم ارتباط برقرار کنن. APIها توی خیلی از برنامه هایی که هر روز استفاده میکنی حضور دارن. مثلا هر بار که از توییتر یا فیسبوک استفاده میکنی، پیامک میفرستی یا وضعیت آب وهوا رو چک میکنی، در واقع داری از API استفاده میکنی.
HTTP
HTTP یا همون Hypertext Transfer Protocol یه مجموعه قوانینه برای انتقال داده هایی مثل تصاویر، متن، ویدئو، صدا و سایر دادههای چندرسانه ای در وب جهانی (World Wide Web). هر وقت که مرورگرت رو باز میکنی و تو اینترنت میچرخی، در واقع داری از HTTP استفاده میکنی.
مثال: کاربر یا مرورگر یه درخواست HTTP به وب سرور میفرسته؛ بعد سرور پاسخ رو به کاربر میده. این پاسخ شامل اطلاعات وضعیت درخواست هست و ممکنه شامل دادههای درخواستی هم باشه.
متدهای رایج HTTP
چند تا از رایجترین متدهای HTTP که بیشترین استفاده رو دارن عبارتند از:
GET: برای گرفتن اطلاعات از سرور.
POST: برای ارسال داده به سرور.
PUT: برای به روزرسانی اطلاعات روی سرور.
PATCH: برای به روزرسانی قسمتی از اطلاعات روی سرور.
HEAD: برای گرفتن اطلاعات هدر از سرور بدون بدنه.
DELETE: برای حذف اطلاعات از سرور.
OPTIONS: برای گرفتن اطلاعات در مورد متدهای HTTP که سرور پشتیبانی میکنه.
درخواست (Request)
درخواست همون چیزیه که باهاش به سرور میگی چه کاری انجام بده. مثلا وقتی که میخوای از یه API اطلاعات بگیری یا اطلاعاتی رو بفرستی، یه درخواست ارسال میکنی. هر درخواست میتونه شامل متد (مثل GET، POST، PUT، DELETE)، URL، هدرها و بدنه باشه.
پاسخ (Response)
پاسخ نتیجه ایه که بعد از ارسال درخواست از سرور میگیری. این پاسخ میتونه شامل وضعیت (Status)، هدرها و بدنه باشه. مثلا اگه درخواست GET به یه API ارسال کنی، ممکنه یه پاسخ با وضعیت 200 و بدنه ای که شامل دادههای درخواستی هست دریافت کنی.
مجموعه (Collection)
مجموعهها یا همون Collections بهت کمک میکنن تا درخواستهای مختلف رو دسته بندی کنی. اینجوری اگه چندین درخواست مرتبط با هم داری، میتونی اونها رو توی یه مجموعه قرار بدی و راحتتر مدیریت کنی.
محیط (Environment)
محیطها یا Environments بهت اجازه میدن تا متغیرهای مختلفی برای درخواست هات تعریف کنی. مثلا اگه داری روی چند محیط مختلف (توسعه، تست، تولید) کار میکنی، میتونی متغیرهای مخصوص هر محیط رو تعریف کنی و به راحتی بین اونها جابه جا بشی.
اسکریپت (Script)
اسکریپتها بهت اجازه میدن تا قبل یا بعد از ارسال درخواست، یه سری کدهای جاوااسکریپت اجرا کنی. مثلا میتونی تستهای خودکار بنویسی یا دادههای پاسخ رو پردازش کنی. این ویژگی خیلی کاربردی و جذابه.
آزمون (Test)
آزمونها یا همون Tests کدهایی هستن که بعد از دریافت پاسخ از سرور اجرا میشن. با استفاده از آزمونها میتونی مطمئن بشی که APIهات درست کار میکنن و دادههای درستی برمی گردونن.
مستندات (Documentation)
مستندات همون توضیحاتی هستن که درباره APIها مینویسی. Postman بهت اجازه میده که به راحتی مستندات APIهات رو ایجاد و مدیریت کنی. اینجوری هم خودت و هم بقیه اعضای تیم همیشه میدونید هر API چیکار میکنه و چطور باید ازش استفاده کنین.
فضای کاری (Workspace)
فضاهای کاری یا Workspaces بهت کمک میکنن تا کارهات رو سازماندهی کنی و با بقیه اعضای تیم همکاری کنی. میتونی فضاهای کاری شخصی، تیمی یا عمومی ایجاد کنی و درخواست ها، مجموعهها و مستندات رو با هم به اشتراک بذاری.
"تکنولوژی بهترینه وقتی که مردم رو به هم نزدیکتر میکنه." - مت مولنوگ
مزایا و معایب Postman
هر ابزاری مزایا و معایب خودش رو داره و Postman هم از این قاعده مستثنی نیست. بیا با هم یه نگاهی به مزایا و معایب این ابزار بندازیم.
مزایا
رابط کاربری کاربرپسند: Postman یه رابط کاربری خیلی ساده و دوست داشتنی داره که کار باهاش رو خیلی راحت میکنه.
قابلیتهای پیشرفته: این ابزار امکانات پیشرفته ای مثل مجموعه ها، محیطها و تستهای خودکار داره که خیلی به کار میاد.
پشتیبانی از تیم ها: میتونی مجموعه هات رو با اعضای تیم به اشتراک بذاری و با هم همکاری کنین.
مستندسازی خودکار: با Postman میتونی به راحتی APIهات رو مستندسازی کنی و همه چیز رو مرتب و منظم نگه داری.
معایب
استفاده زیاد از منابع سیستم: Postman به خاطر قابلیتهای زیادش ممکنه منابع زیادی از سیستمت رو مصرف کنه.
وابستگی به اینترنت: برای استفاده از برخی ویژگیهای Postman باید به اینترنت وصل باشی.
نسخه رایگان محدود: نسخه رایگان Postman یه سری محدودیتها داره و برای دسترسی به امکانات پیشرفتهتر باید نسخه پولی رو بگیری.
نصب و راه اندازی Postman
برای شروع کار با Postman، اول باید نصبش کنیم. خوشبختانه نصب Postman خیلی ساده است و میتونی اون رو روی سیستم عاملهای مختلف نصب کنی.
مرحله 1: دانلود Postman
برای این کار، برو به وب سایت رسمی Postman و نسخه مناسب برای سیستم عامل خودت رو دانلود کن. وقتی دانلود تموم شد، روی فایل دانلود شده کلیک کن تا نصب شروع بشه.
مرحله 2: اجرای فایل نصب
بعد از دانلود، پیامی با عنوان "Your download is in progress" روی صفحه Apps نمایش داده میشه. وقتی دانلود کامل شد، روی "Run" کلیک کن.
مرحله 3: شروع نصب Postman
کمی صبر کن تا نصب Postman کامل بشه. ممکنه چند دقیقه ای طول بکشه.
مرحله 4: ثبت نام برای حساب Postman
توی پنجره بعدی، یک حساب Postman ایجاد کن.
نکته: دو روش برای ثبت نام وجود داره؛ میتونی یه حساب Postman بسازی یا از حساب گوگل استفاده کنی. با این که Postman اجازه میده بدون وارد شدن هم از ابزارش استفاده کنی، ولی ثبت نام باعث میشه مجموعه هات ذخیره بشن و بعداً بتونی بهشون دسترسی داشته باشی.
مرحله 5: ذخیره تنظیمات
ابزارهای فضای کاری که نیاز داری رو انتخاب کن و روی "Save My Preferences" کلیک کن.
تبریک! حالا صفحه شروع Postman رو میبینی و میتونی از این ابزار عالی استفاده کنی.
اولین درخواست HTTP با Postman
حالا که Postman رو نصب کردی، بیا اولین درخواست HTTP خودمون رو ارسال کنیم. فرض کن میخوایم یه درخواست GET به یه API بفرستیم. مراحل زیر رو دنبال کن:
ایجاد درخواست جدید: اول روی دکمه "New" کلیک کن و "Request" رو انتخاب کن.
وارد کردن URL: تو قسمت URL، آدرس API مورد نظر رو وارد کن. مثلاً: https://api.example.com/data.
انتخاب متد HTTP: متد HTTP مورد نظرت رو انتخاب کن (مثلاً GET).
ارسال درخواست: روی دکمه "Send" کلیک کن.
بعد از ارسال درخواست، میتونی پاسخ سرور رو توی بخش پایین صفحه ببینی. این پاسخ شامل وضعیت HTTP، هدرها و بدنه پاسخ هست.
نمونه کدهای کاربردی با Postman
یکی از مزایای بزرگ Postman، امکان استفاده از اسکریپتها و تستهای خودکار هست. اینجا چند نمونه کد برای تست APIها با استفاده از Postman آوردیم:
ارسال درخواست GET و بررسی پاسخ
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
pm.test("Status code is 201", function () {
pm.response.to.have.status(201);
});
pm.test("Response has ID", function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property('id');
});
مقایسه Postman با ابزارهای دیگر
خب، حالا که با Postman آشنا شدی، شاید بخوای بدونی این ابزار در مقایسه با بقیه ابزارهای مشابه چطوره. بیا یه نگاهی بندازیم به چند تا از ابزارهای معروف دیگه و ببینیم Postman چه برتریها و تفاوت هایی با اونا داره.
ابزار
رابط کاربری
قابلیت ها
سهولت استفاده
پشتیبانی از تیم ها
Postman
کاربرپسند
پیشرفته
خیلی راحت
✔️
Insomnia
ساده و شیک
خوب
راحت
✔️
SoapUI
پیچیده
خوب
متوسط
✔️
Paw
شیک و حرفه ای
خوب
راحت
❌
سوالات متداول
Postman چیست؟
Postman یک ابزار قدرتمند برای تست و اشکال زدایی APIهاست که به توسعه دهندگان اجازه میدهد تا به راحتی درخواستهای HTTP را ارسال و پاسخها را بررسی کنند.
آیا Postman رایگان است؟
Postman دارای نسخه رایگان با قابلیتهای محدود است. برای دسترسی به قابلیتهای پیشرفتهتر باید نسخه پولی آن را خریداری کنید.
چگونه میتوانم Postman را نصب کنم؟
برای نصب Postman به وب سایت رسمی آن مراجعه کنید و نسخه مناسب برای سیستم عامل خود را دانلود کنید. سپس فایل نصب را اجرا و مراحل نصب را دنبال کنید.
آیا Postman از تستهای خودکار پشتیبانی میکند؟
بله، Postman دارای قابلیت تعریف تستهای خودکار برای APIهاست که به توسعه دهندگان کمک میکند تا به راحتی تستهای خود را اجرا و نتایج را بررسی کنند.
آیا میتوانم مجموعههای Postman را با دیگران به اشتراک بگذارم؟
بله، Postman به شما اجازه میدهد تا مجموعههای خود را با اعضای تیم به اشتراک بگذارید و همکاری کنید.
جمع بندی
خب دوست من، تا اینجا کلی چیز یاد گرفتیم درباره Postman و این که چقدر میتونه تو کارهای روزمره یه برنامه نویس کمک کننده باشه. دیدیم که Postman چه تاریخچه ای داره، چطور به وجود اومده و چرا اینقدر محبوب شده. از نصب و راه اندازیش گفتیم تا اولین درخواست HTTP و حتی مقایسه ش با ابزارهای دیگه.
Postman با رابط کاربری ساده و کاربرپسندش، قابلیتهای پیشرفته مثل مجموعه ها، محیطها و تستهای خودکار، پشتیبانی از تیمها و مستندسازی خودکار، یه ابزار بی نظیر برای تست و مدیریت APIهاست. البته، مثل هر ابزار دیگه ای معایب خودش رو هم داره، مثل مصرف بالای منابع سیستم و وابستگی به اینترنت، ولی مزایای خیلی بیشتری داره که باعث میشه استفاده ازش واقعا لذت بخش باشه.
پس اگه تا حالا از Postman استفاده نکردی، همین الان برو نصبش کن و باهاش کار کن. مطمئنم که خیلی زود عاشقش میشی و دیگه نمیتونی بدون اون به کارهات ادامه بدی. یادت باشه که APIهات رو مستندسازی کنی، تستهای خودکار بنویسی و همیشه مجموعه هات رو به روز نگه داری.