چطوری با Postman تست API خودمون رو خودکار کنیم؟

واقعا چطوری؟ اگه از تست کردن دوباره و دوباره API خسته شده باشین، قابل حدسه که به همین دلیل که اینجا هستین.خب جای نگرانی نیست، بیایید خودکارش کنیم.Automationوبسرویس‌ها قلب هر برنامه کاربردی Backend هستن. چه معماری مبتنی بر سرویس باشه یا معماری یکپارچه، برای پشتیبانی از نیازهای کاربران به وبسرویس‌های قوی و کارآمد نیاز هست.در بیشتر برنامه‌ها، APIها شامل عملیات پایگاه داده هستن، بنابراین یک حفره در یک واحد از API میتونه برنامه رو خراب کنه. همانطور که بخش‌ها اضافه میشن و برنامه رشد می‌کنه، آزمایش هر کدوم از این APIها دشواره.اکثراً افراد (من) زمان نوشتن یونیت تست تنبل میشن. اما زمانی که الزامات بیشتر میشه، این یونیت تست‌ها برای توسعه سریع و ایمن شدن برنامه به چشم میان!تست خودکار API برای اطمینان از توسعه سریع و کیفیت کد و تمیز بودن کدهای برناممون کمک بزرگی میکنه. پس باید جدیدش گرفت.ابزار Postman یک ابزار توسعه و آزمایش APIهای مشترک هست که از تست API دستی و خودکار پشتیبانی می‌کنه و به طور گسترده هم توسط بسیاری از توسعه دهندگان استفاده میشه.در اینجا، نحوه تنظیم تست‌ها برای APIها از طریق رابط گرافیکی و CLI رو نشونتون میدم.شروع ماجرا ?برای درک بهتر، بیاید مثالی از یک ساخت رکورد کاربر API بزنیم، و برای استفاده از API باید وارد سیستم بشیم. بنابراین سناریویی وجود داره که هر بار که نیاز به تست API ایجاد هست، ابتدا باید API ورود به سیستم را فراخوانی و سپس پسوردش رو برای پردازش بیشتر و شناختن کاربر ذخیره کنیم.خب سناریو چه جوریه؟توکن JWT رو از نتیجه Login API ذخیره می‌کنیم و با اون توکن user-create API رو فراخوانی می‌کنیم.۱) قبل فرستادن ریکوئستدر اینجا نام کاربری و پسورد رو برای API ورود به سیستم و اطلاعات کاربر برای creat-API تنظیم می‌کنیم.۲) تستدر اینجا کد وضعیت رو بررسی و توکن رو در محیط Postman برای Login API خودمون ذخیره می‌کنیم. همچنین، برخی از موارد تست اعتبار سنجی برای API ایجاد شده توسط کاربر رو هم اضافه می‌کنیم.با استفاده از رابط کاربری گرافیکی Postmanابتدا یک درخواست Login API در postman ایجاد کنید:Login Requestاکنون یک pre-request Script برای تنظیم نام کاربری و پسورد اضافه می کنیم.همانطور که نشان داده شده، یک متغیر در pre-request Script تنظیم شده. حالا ما از آن در بدنه درخواست استفاده می‌کنیمbody of requestبرای اطلاعات بیشتر، pre-request Script در Postmanادامه می‌دیم، تستی برای ذخیره یک توکن در محیط با خروجی 200-OK اضافه می‌کنیم.Test to save the tokenو توکن در محیط انتخاب شده فعلی ذخیره می‌شه.اکنون اون متغیر محیطی رو در Authentication به عنوان توکن حامل تنظیم می کنیم تا user-create API رو فراخوانی کند. برای آن، می‌تونیم از pre-request script (قابل اجرا از طریق CLI) استفاده کنیم یا مستقیماً از تب Authorization در Postman استفاده کنیم. ما می‌تونیم از تب هدر هم تنظیم کنیم.Authorization of APIبه این ترتیب می‌تونیم تست‌های اعتبارسنجی مختلف رو در Test تنظیمش کنیم تا واکنش API رو بررسی کنیم.مثال بزنیم :) نام کاربری منحصر به فرد کاربرحالا تمام ریکوئست‌ها رو درون یک مجموعه در Postman ذخیره می کنیم و اجرا می‌کنیمRunning the collectionزمان اجرا می‌تونید دنباله ریکوئست‌ها رو تنظیم کنید.نتایج آزمونبا استفاده از CLIاینم واسه عاشقای سی‌ال‌آی.ابزار Postman CLI یک بسته از npm هست و برای اجرا نیاز به نصب Node در دستگاه شما داره. اطلاعات دقیق در مورد Newman رو اینجا میتونید بخونین.مراحل۱- برای اجرای تست‌ها از طریق CLI، باید یک مجموعه Postman داشته باشین. بنابراین باید ریکوئست‌ها، تست‌ها رو تنظیم کنیم و فایل مجموعه را برای پردازش فراخوانی کنیم.۲- با استفاده از npm بسته newman رو نصب می‌کنیم: npm install newman۳- فایل مجموعه رو فراخوانی و اجرا می‌کنیم:newman run ${collection_file_path}۴- یه همچین چیزی براتون در محیط کنسول به نماش در میاد:اینا حاوی پاسخ‌های API و نتایج تست هستن.یک نکته در استفاده از این بسته بگم که نمی‌تونیم دنباله درخواست های API را تغییر بدیم.