س.مرتضی موسوی
س.مرتضی موسوی
خواندن ۳ دقیقه·۳ سال پیش

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

واقعا چطوری؟ اگه از تست کردن دوباره و دوباره API خسته شده باشین، قابل حدسه که به همین دلیل که اینجا هستین.

خب جای نگرانی نیست، بیایید خودکارش کنیم.

Automation
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
Login Request

اکنون یک pre-request Script برای تنظیم نام کاربری و پسورد اضافه می کنیم.

همانطور که نشان داده شده، یک متغیر در pre-request Script تنظیم شده. حالا ما از آن در بدنه درخواست استفاده می‌کنیم

body of request
body of request

برای اطلاعات بیشتر، pre-request Script در Postman

ادامه می‌دیم، تستی برای ذخیره یک توکن در محیط با خروجی 200-OK اضافه می‌کنیم.

Test to save the token
Test to save the token

و توکن در محیط انتخاب شده فعلی ذخیره می‌شه.

اکنون اون متغیر محیطی رو در Authentication به عنوان توکن حامل تنظیم می کنیم تا user-create API رو فراخوانی کند.

برای آن، می‌تونیم از pre-request script (قابل اجرا از طریق CLI) استفاده کنیم یا مستقیماً از تب Authorization در Postman استفاده کنیم. ما می‌تونیم از تب هدر هم تنظیم کنیم.

Authorization of API
Authorization of API

به این ترتیب می‌تونیم تست‌های اعتبارسنجی مختلف رو در Test تنظیمش کنیم تا واکنش API رو بررسی کنیم.

مثال بزنیم :)

نام کاربری منحصر به فرد کاربر

حالا تمام ریکوئست‌ها رو درون یک مجموعه در Postman ذخیره می کنیم و اجرا می‌کنیم

Running the collection
Running the collection

زمان اجرا می‌تونید دنباله ریکوئست‌ها رو تنظیم کنید.

نتایج آزمون

با استفاده از CLI

اینم واسه عاشقای سی‌ال‌آی.

ابزار Postman CLI یک بسته از npm هست و برای اجرا نیاز به نصب Node در دستگاه شما داره. اطلاعات دقیق در مورد Newman رو اینجا میتونید بخونین.

مراحل

۱- برای اجرای تست‌ها از طریق CLI، باید یک مجموعه Postman داشته باشین. بنابراین باید ریکوئست‌ها، تست‌ها رو تنظیم کنیم و فایل مجموعه را برای پردازش فراخوانی کنیم.


۲- با استفاده از npm بسته newman رو نصب می‌کنیم:

npm install newman


۳- فایل مجموعه رو فراخوانی و اجرا می‌کنیم:

newman run ${collection_file_path}


۴- یه همچین چیزی براتون در محیط کنسول به نماش در میاد:

اینا حاوی پاسخ‌های API و نتایج تست هستن.

یک نکته در استفاده از این بسته بگم که نمی‌تونیم دنباله درخواست های API را تغییر بدیم.
postmanapipostوبسرویسبرنامه نویسی
mortezamosavi@yahoo.com
شاید از این پست‌ها خوشتان بیاید