معرفی
برونو (Bruno) یک ابزار متنباز برای ساخت، ارسال، بررسی و آزمون درخواستهای رابط برنامهنویسی کاربردی (API) است. توسعهدهندگان با آن درخواستهای HTTP مانند GET، POST، PUT و DELETE را میسازند، پاسخ سرور را بررسی میکنند و درخواستهای مرتبط را در قالب Collection (مجموعه درخواستها) نگه میدارند.
یکی از تفاوتهای اصلی برونو با بسیاری از ابزارهای مشابه، فایلمحور بودن آن است. Collectionها، Environmentها (محیطها)، متغیرها و تستها در فایلهای محلی پروژه نگهداری میشوند. در نسخههای جدید، Bruno از OpenCollection YAML استفاده میکند و قالب قدیمی .bru نیز همچنان پشتیبانی میشود.
این ساختار برای تیمی مناسب است که میخواهد تغییرات درخواستهای API همراه کد در Git ثبت شوند، در Pull Requestها بازبینی شوند و نسخه Collection با نسخه سرویس هماهنگ بماند.مستندات رسمی Collectionهای برونو و محیطها جزئیات این ساختار را توضیح میدهند.
برونو معمولا انتخاب مناسبی برای تیمهای بکاند، فرانتاند و فولاستک است که مخزن کد مشترک دارند و همکاری آنها بر پایه Branch، Commit و Pull Request انجام میشود. در این روش، بازبین میتواند تغییر درخواست، تست یا متغیرهای مرتبط با API را در کنار تغییرات کد بررسی کند.
اگر تیم به فضای کاری ابری مشترک، همکاری متمرکز میان اعضا، مدیریت کاربران یا قابلیتهای سازمانی نیاز دارد، Postman میتواند گزینه مناسبتری باشد. Insomnia نیز برای کسانی قابل بررسی است که رابط کاربری و جریان کار مبتنی بر Workspace را ترجیح میدهند.
معیار تصمیم فقط این نیست که کدام ابزار درخواست HTTP میفرستد؛ باید مشخص کنید منبع اصلی Collection در تیم شما فایلهای قابل بازبینی مخزن است یا یک فضای کاری مشترک.
برونو از اجرای Collection در خط فرمان و واردکردن Collectionهای Postman نیز پشتیبانی میکند. پس از واردکردن Collection بهتر است درخواستها، متغیرها و اسکریپتها بررسی شوند تا از سازگاری آنها مطمئن شوید. برای جزئیات این قابلیتها به مستندات رسمی Bruno CLI و واردکردن Collectionهای Postman مراجعه کنید.
این ابزار را با نامهای دیگری نیز میشناسند:
- Bruno API Client
ویژگیهای کلیدی
در ادامه، مهمترین موارد این بخش به تفکیک معرفی شدهاند.
-
ذخیره Collectionها در فایلهای محلی
Collectionها، محیطها و تستها در فایلهای محلی پروژه ذخیره میشوند و میتوان آنها را همراه کد نگهداری کرد.
-
هماهنگی با Git
فایلهای Bruno را میتوان در Git نسخهبندی کرد و تغییرات درخواستها و آزمونها را در Branch و Pull Request بررسی کرد.
-
ارسال و بررسی درخواستهای HTTP
میتوان درخواستهای HTTP را با متدها، Headerها، پارامترها، بدنه و روشهای مختلف احراز هویت ساخت و پاسخ را بررسی کرد.
-
محیطها و متغیرها
Environmentها و Variableها (متغیرها) برای نگهداری مقادیری مانند نشانی پایه API، توکنها و تنظیمات محیطهای مختلف استفاده میشوند.
-
آزمون پاسخ و اسکریپتنویسی
میتوان برای پاسخها تست و Assertion تعریف کرد و با اسکریپتها منطق قبل یا بعد از اجرای درخواست را پیادهسازی کرد.
-
اجرای Collection از خط فرمان
Bruno CLI امکان اجرای Collectionها از خط فرمان را فراهم میکند و میتواند در فرایندهای خودکار و خطوط CI/CD استفاده شود.
-
واردکردن Collectionهای Postman
Collectionهای Postman را میتوان به Bruno وارد کرد و پس از بررسی سازگاری، در ساختار فایلمحور Bruno نگهداری کرد.
کاربردها
موارد زیر تصویری کلی از این بخش برای این ابزار ارائه میکنند.
-
آزمون دستی API در زمان توسعه بکاند
Endpointهای جدید را با دادههای مختلف فراخوانی کنید و وضعیت پاسخ، Headerها و بدنه خروجی را بررسی کنید.
-
اشتراک قرارداد API در مخزن پروژه
Collection را در کنار کد نگهداری کنید تا نمونه درخواستها و آزمونها همراه تغییرات API نسخهبندی و بازبینی شوند.
-
بررسی یکپارچهسازی فرانتاند با بکاند
درخواستهایی مشابه نیاز فرانتاند ارسال کنید و ساختار پاسخ، کد وضعیت و دادههای موردنیاز رابط کاربری را بررسی کنید.
-
اجرای بررسیهای API در خط لوله
Collectionهای آزمون را با Bruno CLI در خط لوله CI/CD اجرا کنید تا تغییرات API پیش از ادغام یا انتشار بررسی شوند.
-
مدیریت درخواستهای چندمحیطی
با Environment و Variable یک Collection را برای محیطهای توسعه، آزمایش و سایر محیطها استفاده کنید.
-
شروع عملی با یک Collection فایلمحور
یک Collection بسازید، درخواست GET سادهای اضافه کنید و برای نشانی API یک متغیر محیطی تعریف کنید. سپس یک تست برای کد وضعیت پاسخ اضافه کنید و Collection را در Git ثبت کنید.
ابزارهای جایگزین
اگر این ابزار پاسخگوی نیاز شما نبود، گزینههای زیر را بررسی کنید.
پرسشهای رایج درباره برونو
اگر درباره این ابزار پرسشی دارید، ممکن است پاسخ آن را در میان موارد زیر پیدا کنید.
برونو چه تفاوتی با Postman دارد؟
تفاوت مهم Bruno در رویکرد فایلمحور و هماهنگی آن با Git است. Collectionهای آن میتوانند همراه کد نگهداری و در Pull Requestها بازبینی شوند. Postman تمرکز بیشتری بر فضای کاری ابری و همکاری متمرکز تیمی دارد.
Insomnia را انتخاب کنم یا برونو؟
اگر نگهداری Collectionها در فایل و نسخهبندی آنها با Git برای تیم اهمیت دارد، Bruno گزینه مناسبی است. اگر جریان کاری مبتنی بر Workspace و رابط Insomnia را ترجیح میدهید، آن ابزار نیز قابل بررسی است.
آیا برونو برای تست خودکار API مناسب است؟
بله. میتوانید برای پاسخها آزمون تعریف کنید و Collection را با Bruno CLI در خط فرمان یا خط لوله CI/CD اجرا کنید. برای آزمون بار و کارایی گسترده بهتر است از ابزارهای تخصصی این حوزه استفاده شود.
آیا برای استفاده از برونو باید Git بلد باشم؟
خیر. برای ساخت و ارسال درخواست API نیازی به Git ندارید. اما چون یکی از مزیتهای اصلی Bruno نگهداری فایلها در مخزن پروژه است، آشنایی با Commit، Branch و Pull Request برای کار تیمی مفید است.
آیا میتوان Collectionهای Postman را به برونو منتقل کرد؟
بله. Bruno از واردکردن Collectionهای Postman پشتیبانی میکند. پس از واردکردن بهتر است درخواستها، متغیرها و اسکریپتها را بررسی کنید تا از سازگاری آنها مطمئن شوید.