واقعا چطوری؟ اگه از تست کردن دوباره و دوباره API خسته شده باشین، قابل حدسه که به همین دلیل که اینجا هستین.
خب جای نگرانی نیست، بیایید خودکارش کنیم.
وبسرویسها قلب هر برنامه کاربردی 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 ایجاد شده توسط کاربر رو هم اضافه میکنیم.
ابتدا یک درخواست Login API در postman ایجاد کنید:
اکنون یک pre-request Script برای تنظیم نام کاربری و پسورد اضافه می کنیم.
همانطور که نشان داده شده، یک متغیر در pre-request Script تنظیم شده. حالا ما از آن در بدنه درخواست استفاده میکنیم
برای اطلاعات بیشتر، pre-request Script در Postman
ادامه میدیم، تستی برای ذخیره یک توکن در محیط با خروجی 200-OK اضافه میکنیم.
و توکن در محیط انتخاب شده فعلی ذخیره میشه.
اکنون اون متغیر محیطی رو در Authentication به عنوان توکن حامل تنظیم می کنیم تا user-create API رو فراخوانی کند.
برای آن، میتونیم از pre-request script (قابل اجرا از طریق CLI) استفاده کنیم یا مستقیماً از تب Authorization در Postman استفاده کنیم. ما میتونیم از تب هدر هم تنظیم کنیم.
به این ترتیب میتونیم تستهای اعتبارسنجی مختلف رو در Test تنظیمش کنیم تا واکنش API رو بررسی کنیم.
مثال بزنیم :)
نام کاربری منحصر به فرد کاربر
حالا تمام ریکوئستها رو درون یک مجموعه در Postman ذخیره می کنیم و اجرا میکنیم
زمان اجرا میتونید دنباله ریکوئستها رو تنظیم کنید.
نتایج آزمون
اینم واسه عاشقای سیالآی.
ابزار Postman CLI یک بسته از npm هست و برای اجرا نیاز به نصب Node در دستگاه شما داره. اطلاعات دقیق در مورد Newman رو اینجا میتونید بخونین.
مراحل
۱- برای اجرای تستها از طریق CLI، باید یک مجموعه Postman داشته باشین. بنابراین باید ریکوئستها، تستها رو تنظیم کنیم و فایل مجموعه را برای پردازش فراخوانی کنیم.
۲- با استفاده از npm بسته newman رو نصب میکنیم:
npm install newman
۳- فایل مجموعه رو فراخوانی و اجرا میکنیم:
newman run ${collection_file_path}
۴- یه همچین چیزی براتون در محیط کنسول به نماش در میاد:
اینا حاوی پاسخهای API و نتایج تست هستن.
یک نکته در استفاده از این بسته بگم که نمیتونیم دنباله درخواست های API را تغییر بدیم.