فهرست مطالب
Postman چیست؟
Postman یک ابزار تست مقیاس پذیر API است که به سرعت در پایپ لاین های CI/CD ادغام میشود. این ابزار در سال ۲۰۱۲ به عنوان یک پروژه ی جانبی توسط Abhinav Asthana به منظور تسهیل جریان کار در تست و توسعه ی API آغاز شد. API به اپلیکیشن های نرم افزاری اجازه ی ارتباط با یکدیگر از طریق تماسهای API را میدهد.
در این مقاله ی آموزشی موارد زیر را فراخواهید گرفت:
چرا از Postman استفاده کنید؟
امروزه با بیش از ۱۰ میلیون کاربر، Postman به دلایل زیر ابزار انتخابی کاربران شده است:
- قابلیت دسترسی – برای استفاده از Postman فقط کافی است به اکانت خود وارد شوید. این ابزار دسترسی به فایلها را در هر زمان و هر مکانی که یک اپلیکیشن Postman روی کامپیوتر نصب باشد آسان میسازد.
- استفاده از کلکسیون ها – Postman به کاربران برای تماسهای APIهای خود اجازه ی ساخت کلکسیونها را میدهد. هر کلکسیون میتواند زیرپوشه ها و درخواست های متعددی ایجاد نماید. این در سازماندهی مجموعه هایتان به شما کمک میکند.
- همکاری – کلکسیون ها و محیط ها میتوانند وارد یا صادر شوند که این ویژگی باعث تسهیل در اشتراک گذاری فایلها میگردد. همچنین یک لینک مستقیم میتواند برای به اشتراک گذاشتن کلکسیونها مورد استفاده قرار گیرد.
- ایجاد محیط – داشتن محیطهای متعدد در تکرار کمتر تست ها کمک میکند بدین گونه که از یک کلکسیون مشابه میتوان در محیط های متفاوت استفاده کرد. این همان جایی است که پارامتری کردن صورت خواهد گرفت و در ادامه ی آموزش به بحث راجع به آن خواهیم پرداخت.
- ایجاد تست ها – نقاط بررسی تست ها مانند تایید برای وضعیت موفقیت آمیز پاسخ HTTP میتوانند به تمام تماسهای API که به اطمینان از پوشش تست کمک میکند، اضافه شوند.
- تست اتوماسیون – با استفاده از Collection Runner یا Newman، تست ها میتوانند در تکرارهای مختلف انجام شوند تا باعث صرفه جویی در زمان برای تست های تکراری گردد.
- عیب یابی – کنسول Postman به بررسی داده هایی که بازیابی شده اند کمک میکند و این، تسهیل در عیب یابی تست ها را به ارمغان می آورد.
- ادغام مداوم – با توانایی آن در پشتیبانی از ادغام مداوم، اعمال توسعه حفظ میشود.
نحوه ی دانلود و نصب Postman
با استفاده از یک ابزار Open Source، Postman به راحتی قابل دانلود است. در اینجا مراحل نصب آن آورده شده است:
گام ۱) به آدرس https://www.postman.com/downloads/ رفته و پلتفرم مورد نظر خود را از بین Mac، Windows یا Linux انتخاب نمایید. روی Download کلیک کنید.
گام۲) حالا پیام Your download is in progress باید در صفحه ی برنامه ها نمایش داده شود. پس از کامل شدن دانلود روی Run کلیک کنید.
گام ۳) نصب آغاز میشود.
گام ۴) در پنجره ی بعدی، برای اکانت Postman ثبت نام کنید.
نکته: توجه کنید که به دو روش میتوان برای اکانت Postman ثبت نام کرد. یکی ایجاد یک حساب کاربری خود Postman است و دیگری استفاده از حساب Google میباشد. اگرچه Postman به کاربران اجازه ی استفاده از ابزار بدون ورود را میدهد، اما ثبت نام تضمین میکند که کلکسیون شما ذخیره شده و امکان دسترسی برای استفاده های بعدی را داشته باشید.
گام ۵) ابزارهای محیط کاری مورد نیازتان را انتخاب کرده و روی Save My Preferences کلیک نمایید.
گام ۶) صفحه ی راه اندازی را مشاهده خواهید کرد.
نحوه ی استفاده از Postman
در زیر محیط کاری Postman را مشاهده میکنید. بیایید ویژگی های مختلف این ابزار را کشف کنیم!
- New – اینجا جایی است که یک درخواست، کلکسیون یا محیط جدید میخواهید بسازید.
- Import – از این دکمه برای وارد کردن یک کلکسیون یا محیط استفاده میشود. گزینه هایی همچون وارد کردن از طریق فایل، پوشه، لینک یا paste کردن متن خام وجود دارد.
- Runner – تست های اتوماسیون از طریق Collection Runner قابل اجرا هستند. که در بحث های بعدی بیشتر به آن پرداخته خواهدشد.
- Open New – با کلیک کردن روی این دکمه، یک tab جدید، پنجره ی Postman یا Runner جدید باز کنید.
- My Workspace – شما میتوانید یک محیط کاری جدید شخصی یا تیمی بسازید.
- Invite – با دعوت از اعضای تیم در یک محیط کاری همکاری کنید.
- History – درخواستهای گذشته که ارسال کرده اید در History نشان داده خواهد شد. این ردیابی فعالیت هایی که انجام داده اید را آسان میکند.
- Collections – با استفاده از Collection ها مجموعه ی تست هایتان را سازماندهی کنید. هر کلکسیون میتواند شامل زیرپوشه ها و درخواست های متعددی باشد. همچنین یک درخواست یا پوشه قابلیت کپی شدن دارد.
- Request tab – این قسمت عنوان درخواستهایی که شما در حال کار روی آن هستید را نمایش میدهد. به طور پیشفرض Untitled Request برای درخواستهای بدون عنوان نشان داده خواهدشد.
- HTTP Request – با کلیک روی آن یک لیست از درخواستهای مختلف مانند GET، POST، COPY، DELETE و غیره نمایش داده میشود. در تست، متداول ترین درخواستهای استفاده شده GET و POST هستند.
- Request URL – به عنوان یک نقطه ی پایانی شناخته میشود، در این قسمت لینک با جایی که API با آن در ارتباط است را مشخص میکنید.
- Save – در صورت ایجاد تغییرات در درخواست، کلیک کردن روی save برای از دست نرفتن یا بازنویسی تغییرات ضروری است.
- Params – در اینجا پارامترهای مورد نیاز برای یک درخواست مانند مقادیر اصلی را بنویسید.
- Authprization – به منظور دسترسی به APIها، مجوز مناسب لازم است. آن ممکن است به شکل نام کاربری و رمز عبور، توکن حامل و غیره باشد.
- Headers – بسته به نیازهای سازمان میتوانید هدرهایی مانند نوع محتوای JSON تنظیم کنید.
- Body – در این قسمت میتوان جزئیات درخواستی را که معمولا در درخواست POST استفاده میشود را شخصی سازی کرد.
- Pre-request Script – اینها اسکریپت هایی هستند که قبل از درخواست اجرا خواهند شد. معمولا، Pre-request scriptها برای محیط تنظیم شده استفاده میشوند تا اطمینان حاصل کنند که تستها در محیط درستی به اجرا درخواهند آمد.
- Tests – تستها اسکریپت هایی هستند که در طول درخواست اجرا میشوند. داشتن تستها به علت تنظیم نقاط بررسی برای تایید صحت وضعیت پاسخ، داده های بازیابی شده (همانطور که انتظار میرود) و سایر تستها مهم است.
آموزش کامل postman (کار با درخواستهای GET)
درخواستهای GET برای بازیابی اطلاعات از URL داده شده استفاده میشوند. هیچ تغییری روی نقطهی پایانی اعمال نخواهدشد.
در این مقاله ی آموزشی از URL زیر برای تمام مثالها استفاده خواهیم کرد.
https://jsonplaceholder.typicode.com/users
در محیط کاری
- درخواست HTTP خود را روی GET تنظیم نمایید.
- در فیلد URL درخواست، لینک را وارد کنید.
- روی Send کلیک کنید.
- پیام ۲۰۰ OK را مشاهده خواهید کرد.
- در بدنه باید ۱۰ نتیجه ی کاربر وجود داشته باشد که نشان میدهد تست شما با موفقیت اجرا شده است.
نکته: در مواردی ممکن است درخواست Get ناموفق باشد. این میتواند به دلیل یک URL درخواست نامعتبر یا نیاز به احراز هویت باشد.
کار با درخواستهای POST
درخواستهای Post از درخواستهای Get متفاوت است زیرا کاربر با افزودن داده ها به نقطه ی پایانی، آنها را دستکاری میکند. با استفاده از همان داده ها از آموزش قبلی در درخواست Get، میخواهیم کاربر خودمان را اضافه کنیم.
گام ۱) برای ایجاد یک درخواست جدید روی new tab کلیک کنید.
گام ۲) در tab جدید
- درخواست HTTP خود را روی POST تنظیم نمایید.
- همان لینک را در url درخواست وارد کنید: https://jsonplaceholder.typicode.com/users
- به تب Body سوییچ کنید.
گام ۳) در بدنه،
- روی raw کلیک کنید.
- JSON را انتخاب نمایید.
گام ۴) فقط نتیجه ی یک کاربر را از درخواست get قبلی مانند زیر copy & paste کنید. اطمینان حاصل کنید که کدها به طور صحیح با بندها و براکتهای برابر کپی شده باشد. Id را به ۱۱ تغییر داده و به نام دلخواه خود نامگذاری نمایید. همچنین میتوانید سایر جزئیات مانند آدرس را تغییر دهید.
نکته: درخواست Post باید فرمت صحیحی داشته باشد تا اطمینان حاصل شود که داده های درخواست شده ایجاد خواهد شد. این روش خوبی برای استفاده از Get است که فرمت JSON درخواست را بررسی نماید. شما میتوانید از ابزارهایی مانند https://jsonformatter.curiousconcept.com استفاده کنید.
گام ۵) Next،
- روی Send کلیک کنید.
- Status:201 created نمایش داده خواهد شد.
- داده های پست شده در بدنه نشان داده میشود.
نحوه ی پارامتری کردن درخواست ها
پارامتری کردن داده ها یکی از مفیدترین ویژگی های Postman است. به جای ایجاد درخواست های یکسان با داده های متفاوت، شما میتوانید از متغیرها به همراه پارامتر استفاده کنید. این داده ها میتواند از فایل دیتا یا متغیر محیط باشد. پارامتری کردن باعث جلوگیری از تکرار تستهای یکسان میشود و از این تکرر میتوان برای تست اتوماسیون استفاده کرد. پارامترها با استفاده از آکلادهای دوبل ساخته میشوند: {{نمونه}} به نمونهای از استفاده ی پارامترها در درخواست قبلی نگاهی بیندازید:
در این قسمت به آموزش ایجاد یک درخواست get پارامتریشده میپردازیم.
گام ۱)
- درخواست HTTP خود را روی GET تنظیم نمایید.
- این لینک را وارد کرده: http://jsonplaceholder.typicode.com/users و قسمت اول لینک را با پارامتری مانند {{url}} جایگزین نمایید. url درخواست باید به صورت {{url}}/users باشد.
- روی Send کلیک کنید.
هیچ پاسخی نباید نشان داده شود چون منبعی برای پارامترمان تنظیم نکرده ایم.
گام ۲) برای استفاده از پارامتر باید محیط را تنظیم کنید.
- روی آیکون چشم کلیک نمایید.
- برای تنظیم پارامتر در محیط global که میتواند در تمام کلکسیون ها استفاده شود، روی edit کلیک کنید.
گام ۳) در متغیر،
- نام را روی (url (https://jsonplaceholder.typicode.com تنظیم کنید.
- روی Save کلیک نمایید.
گام ۴) اگر صفحه ی بعدی را مشاهده کردید روی close کلیک نمایید.
گام ۵) به درخواست Get برگشته و روی send کلیک کنید. حالا باید نتایج برای درخواست شما نشان داده شده باشد.
نکته: برای جلوگیری از ارورها همیشه اطمینان حاصل کنید که پارامترهایتان منبعی مانند متغیر محیط یا فایل دیتا داشته باشند.
نحوه ی ایجاد تستهای Postman
تستهای Postman کدهای جاوا اسکریپتی هستند که به درخواستها اضافه میشوند تا برای تایید نتایج مانند وضعیت موفق یا ناموفق، مقایسه ی نتایج قابل انتظار و غیره به شما کمک کند. آن معمولا با pm.test شروع میشود. از این تستها میتوان در مقایسه برای اثبات و تایید دسترسی فرمان ها در سایر ابزارها استفاده کرد.
حال میخواهیم چند تست اساسی برای درخواستهای پارامتری قبلیمان ایجاد نماییم.
گام ۱) به درخواست کاربری GET خود از آموزشهای پیشین بروید.
- روی تب Tests سوییچ کنید. در سمت راست کدهای snippet نشان داده میشود.
- از بخش snippets، روی Status code: Code is 200 کلیک نمایید.
گام ۲) روی Send کلیک کنید. نتیجه ی تست نشان داده خواهدشد.
گام ۳) به تب Test برگشته و تست دیگری اضافه کنید. این بار ما نتیجه ی قابل انتظار را با نتیجه ی واقعی مقایسه خواهیم کرد.
از بخش snippets، روی Response body: JSON value check کلیک کنید. در اینجا ما بررسی خواهیم کرد که Leanne Graham شناسه کاربری ۱ را دارد یا خیر؟!
گام ۴)
- نام تست خود را از کد با “Check if user with id1 id1 is Leanne Graham” جایگزین کنید تا نام تست آنچه را که دقیقا میخواهیم تست کنیم، مشخص کند.
- value را با jsonData[0].name جایگزین نمایید. برای گرفتن مسیر، بدنه را در نتیجه ی Get بررسی کنید. از آنجا که Leanne Graham شناسه کاربری ۱ است، jsonData در اولین نتیجه ای است که باید با ۰ شروع شود. اگر میخواهید نتیجه ی دوم را دریافت کنید، از jsonData[1] استفاده کرده و برای بقیه ی نتایج به همین ترتیب عمل نمایید.
گام ۵) روی send کلیک کنید. الان باید دو نتیجه ی تست قبولی برای درخواستتان وجود داشته باشد.
نکته: انواع مختلفی از تستهایی که میتوانند در Postman ایجاد شوند، وجود دارد. سعی کنید این ابزار را کشف کرده و ببینید کدام تست ها متناسب با نیاز شما است.
نحوه ی ایجاد کلکسیون ها
کلکسیونها نقش مهمی در سازماندهی به مجوعه های تست بازی میکنند. آن میتواند با وارد کردن و صادر کردن کلکسیونها اشتراک گذاری آنها را بین اعضای تیم آسان نماید. در این مقاله ی آموزشی، چگونگی ایجاد و اجرای کلکسیونها را خواهیم آموخت.
برای ایجاد یک کلکسیون مراحل زیر را طی کنید:
گام ۱) روی دکمه ی New در گوشهی بالا سمت چپ صفحه کلیک نمایید.
گام ۲) Collection را انتخاب کنید. پنجره ی ایجاد کلکسیون باید ظاهر شود.
گام ۳) نام و توضیحات کلکسیون موردنظر خود را وارد کرده و روی Create کلیک نمایید. بدین ترتیب یک کلکسیون ساخته خواهدشد.
گام ۴) به درخواست Get قبلی برگشته و روی Save کلیک کنید.
گام ۵)
- Postman Test Collection را انتخاب نمایید.
- روی Save to Postman Test Collection کلیک کنید.
گام ۶) Postman test collection حالا باید شامل یک درخواست باشد.
گام ۷) گامهای ۴ و ۵ را برای درخواست Post قبلی تکرار کنید تا collection دارای دو درخواست باشد.
نحوه ی اجرای کلکسیونها با استفاده از Collection Runner
دو راه برای اجرای کلکسیون وجود دارد که عبارتند از: Collection Runner و Newman. ما با اجرا در Collection Runner شروع میکنیم.
گام ۱) روی دکمه ی Runner که در بالای صفحه کنار Import قرار دارد کلیک نمایید.
گام ۲) صفحه ی Collection Runner مانند زیر نمایش داده خواهدشد. در زیر توضیحات فیلدهای مختلف آورده شده است.
گام ۳) Postman Test Collection خود را با تنظیم موارد زیر اجرا کنید:
- Postman test collection را انتخاب نمایید- تعداد تکرارها را روی ۳ تنظیم کنید.
- تاخیر را روی ۲۵۰۰ میلی ثانیه تنظیم نمایید.
- روی دکمه ی Run Postman Test… کلیک کنید.
گام ۴) صفحه ی Run Results بعد از کلیک بر روی دکمه ی Run نمایش داده خواهدشد. بسته به تاخیر، شما تستها را حین اجرای آنها باید ببینید.
- پس از پایان تستها، میتوانید وضعیت تست را که موردقبول واقع شده یا خیر و همچنین نتایج هر تکرار را مشاهده کنید.
- وضعیت قابل قبول را در درخواست Get میبینید.
- از آنجایی که هیچ تستی برای Post نداشتیم، باید پیغامی مبتنی بر The request did not have any tests نمایش داده شود.
میبینید که چقدر مهم است در درخواستهایتان تستهایی وجود داشته باشد تا در صورت موفقیت و ایجاد یا بازیابی دادهها بتوانید وضعیت درخواست HTTP را تایید کنید.
میتوانید در این مقاله دیگر ابزارهای تست api را ببینید.
نحوه ی اجرای کلکسیونها با استفاده از Newman
راه دیگر اجرای یک کلکسیون از طریق Newman است. تفاوت های اصلی Neaman و Collection Runner در زیر آمده است:
- Newman یک افزونه برای Postman است. شما باید آن را جدا از برنامه ی اصلی آن نصب کنید.
- Newman از خط فرمان استفاده میکند در حالیکه Collection Runner دارای رابط کاربری گرافیکی (GUI) است.
- از Newman می توان برای ادغام مداوم استفاده کرد.
برای نصب Newman و اجرای کلکسیون از طریق آن، طبق مراحل زیر عمل نمایید:
گام ۱) با استفاده از این لینک nodejs را نصب کنید: http://nodejs.org/download/
گام ۲) خط فرمان را باز کرده و این عبارت را وارد نمایید.
حالا Newman باید روی کامپیوتر شما نصب شده باشد.
گام ۳) پس از نصب Newman، به محیط کاری Postman برگردید. در قسمت Collection، روی سه نقطه کلیک کنید. پس از ظاهر شدن آپشن ها، گزینه ی Export را انتخاب نمایید.
گام ۴) در قسمت Export Collection گزینه ی توصیه شده ی Collection v2.1 را انتخاب کرده و سپس روی Export کلیک نمایید.
گام ۵) لوکیشن مورد نظر خود را انتخاب نموده و روی Save کلیک کنید. توصیه میشود یک پوشه ی خاص برای تستهای Postman خود بسازید. یک کلکسیون در فهرست محلی انتخاب شده ی شما export میشود.
گام ۶) همچنین باید محیطمان را نیز export کنیم. روی آیکون چشم کنار لیست کشویی محیط در Global کلیک و Download as JSON را انتخاب نمایید. لوکیشن موردنظر خود را انتخاب کرده و سپس روی Save کلیک کنید. توصیه میشود که محیط در همان پوشه ی کلکسیونتان باشد.
گام ۷) محیط باید در همان فهرست محلی در Collection، export شده باشد.
گام ۸) حالا به خط فرمان برگشته و فهرست را به جایی که کلکسیون و محیط را در آن ذخیره کرده اید تغییر دهید.
گام ۹) با استفاده از فرمان زیر کلکسیون خود را اجرا کنید:
نتایج اجرا مانند زیر ظاهر خواهد شد.
برخی کدهای اساسی Newman برای اجرا در زیر آمده است:
- اجرای فقط یک کلکسیون. این میتواند در صورت عدم وابستگی به محیط یا فایل دیتای تست مورد استفاده قرار گیرد.
- اجرای یک کلکسیون و محیط. نشانهگر -e برای محیط است.
- اجرای یک کلکسیون با تعداد تکرار مورد نظر.
- اجرا با فایل دیتا.
- تنظیم زمان تاخیر. این نکته بسیار مهم است؛ چون اگر آن بدون تاخیر اجرا گردد سبب میشود درخواستها بدون اینکه درخواست قبلی در سرور نهایی تکمیل شده باشد، شروع شده و این ممکن است منجر به عدم موفقیت تستها گردد.
خلاصه
- در حال حاضر Postman یکی از محبوب ترین ابزارهای مورد استفاده در تست API است.
- قابلیت دسترسی، استفاده از کلکسیونها، همکاری و ادغام مداوم ویژگیهای اصلی در یادگیری Postman هستند.
- توصیه میشود یک حساب کاربری در Postman ایجاد کنید تا کلکسیون هایتان به صورت آنلاین قابل دسترس باشند.
- میتوانید درخواستها را در Postman پارامتری کنید.
- امکان ایجاد تستها برای تایید درخواست Postman وجود دارد.
- کلکسیونها از دو طریق Newman و Collection Runner قابل اجرا هستند.
ممنونم از اطلاعات خوب شما
You are the boss
Alawi from AFG
Thanks a bundle
واقعا متن کامل و جامعی بود. خسته نباشید.
عالی بود و خیلی مفید
تشکر فراوان