لینک کوتاه مطلب : https://hsgar.com/?p=3007

راه اندازی HN: Karate Labs (YC W22) – API منبع باز و اتوماسیون تست UI

سلام HN، پیتر اینجا، موسس آزمایشگاه کاراته (https://karatelabs.io) توسط یکی از بنیانگذاران من Kapil پیوست. کاراته یک راه حل منبع باز است که اتوماسیون تست API و UI، از جمله سرورهای ساختگی و تست عملکرد را متحد می کند.https://github.com/karatelabs/karate).

در سال 2016، من بخشی از تیم پلتفرم API در Intuit بودم. مشکلی باعث کاهش سرعت تیم شده بود: یک آزمایش خاص برای مجموعه‌ای از سرویس‌های کلیدی به‌طور تصادفی با شکست مواجه می‌شد، و مشخص نبود که آیا این مشکل در آزمایش است یا نقص واقعی وجود دارد. هرچه عمیق‌تر نگاه می‌کردم، پیچیدگی اطراف مجموعه آزمایشی من را بیشتر می‌ترساند. از یک چارچوب داخلی استفاده می‌کرد که طی سال‌ها تکامل یافته بود و آزمایش به کد موجود در چندین فایل پراکنده در فضای کاری بستگی داشت. واضح بود که بسیاری از برنامه نویسان در طول سال ها سعی کرده اند آن را برطرف کنند. تقریباً غیرممکن بود که بفهمم آزمایش چه کار می کند. باید راه بهتری برای بیان تست های عملکردی وب سرویس وجود داشت و من به سختی در مورد آن فکر کردم.

این کاراته را به وجود آورد، یک چارچوب قابل اسکریپت که اتوماسیون تست API و UI را ترکیب می کند. این پروژه در سراسر جهان به عنوان یک پروژه منبع باز، شامل 37 شرکت از 500 شرکت فورچون (تاکنون!) پذیرفته شده است. شرکت هایی که در مورد نحوه استفاده از کاراته نوشته اند، Walmart هستند [1]، Expedia [2]، ادوبی [3]تریواگو [4]و اوکتانا [5].

کاراته زبان مخصوص دامنه خود را دارد که بر روی نوشتن تست ها با کد کمتر و در زمان کمتر تمرکز دارد. این منجر به آزمایش‌های آسان و قابل نگهداری می‌شود که اغلب به اندازه کافی ساده هستند تا صاحبان محصول بتوانند در آن مشارکت کنند. کاراته همچنین ادعاهای قدرتمندی دارد (https://twitter.com/getkarate/status/1515657727913377798 )، تست ها را به صورت موازی اجرا می کند و می تواند از تست های API به عنوان تست عملکرد مجدد استفاده کند، که در مقایسه با بازنویسی تست های عملکرد با استفاده از ابزار دوم، در زمان صرفه جویی می کند. فضای اتوماسیون UI شلوغ است، اما ابزارهای کمی وجود دارند که هر سه مورد را انجام می دهند: API، UI و تست عملکرد.

سال گذشته تصمیم گرفتیم کارهای روزانه خود را رها کنیم و تمام وقت روی کاراته کار کنیم. ما آزمایشگاه های کاراته را به عنوان یک شرکت انتفاعی با یک مدل کسب و کار هسته باز در نظر گرفتیم. در هفته های اخیر، ما دو محصول اول باز هسته خود را منتشر کرده ایم.

استودیو کاراته می تواند مجموعه های Postman، Swagger، OpenAPI، HAR و cURL را وارد کند. پس از وارد کردن، می‌توانید یک دنباله API را پیش‌نمایش کنید و با استفاده از یک رابط بصری بدون کد آن را ویرایش کنید. سپس می توانید آن را به عنوان یک فایل ویژگی کاراته آماده برای اجرا صادر کنید که می توانید آن را در خط لوله CI/CD یا DevOps موجود خود ادغام کنید. اگر از قبل مجموعه‌ای از مجموعه‌های پستچی دارید، می‌توانید آنها را به کاراته منتقل کنید و از مزایای اجرای موازی، ادعاهای قدرتمند و تست عملکرد بهره‌مند شوید. اگر اعضای تیم Postman را برای آزمایش اکتشافی ترجیح می‌دهند، می‌توانند از Studio برای تبدیل مجموعه‌های پیش‌نویس خود به مجموعه‌های اتوماسیون API کامل، کامل با ادعاهایی برای منطق تجاری پیچیده استفاده کنند و سپس از آنها در مجموعه‌های تست رگرسیون استفاده کنند. استودیو همچنین می‌تواند در صورت نیاز به پستچی بازگرداند. برای یک دوره آزمایشی رایگان 7 روزه در دسترس است https://studio.karatelabs.io، و می توانید یک ویدیوی آزمایشی را در اینجا ببینید: https://www.youtube.com/watch?v=aJCgtnhekA.

دومین محصول جدید ما یک پلاگین IntelliJ است (https://www.karatelabs.io/intellij-plugin) که تجربه تکمیل خودکار و نکات نحوی را که توسعه دهندگان دوست دارند یکپارچه می کند. تا پیش از این، پشتیبانی کاراته در IntelliJ از طریق پشتیبانی داخلی Cucumber and Gherkin بود که بسیار ابتدایی بود. تیم ها آرزوی گزینه بهتری را داشتند که از تمام قابلیت های کاراته مانند JSON تعبیه شده، JS و ادعاهای داده استفاده کند. اکنون می‌توانید تست‌های کاراته را حتی سریع‌تر از قبل بنویسید، اشکال‌زدایی کنید و نگهداری کنید. این افزونه از بازار JetBrains با یک آزمایش رایگان 30 روزه در دسترس است: https://plugins.jetbrains.com/plugin/19232-karate.

وقتی صحبت از “ساخت در مقابل خرید” می شود، بسیاری از تیم ها تمایل به ساخت چارچوب های اتوماسیون تست دارند. این واقعیت که نگهداری از یک چارچوب داخلی در نهایت از نظر تلاش و هزینه بازدارنده می شود، نادیده گرفته می شود. ما در تلاش هستیم تا آگاهی را افزایش دهیم که انتخاب یک چارچوب منبع باز بالغ مانند کاراته حرکت مناسبی برای هر تیمی است که می خواهد سرعت توسعه دهنده را بهبود بخشد.

ما از جامعه، توسعه دهندگان و کاربران سازمانی کاراته تشکر می کنیم که به ما در دستیابی به پذیرش گسترده و کسب اعتبار در حوزه تست-اتوماسیون کمک کردند. منتظر حمایت، بازخورد و پیشنهادات شما هستیم.

[1] https://medium.com/walmartglobaltech/kafka-automation-using-…

[2] https://medium.com/expedia-group-tech/karate-5-reasons-why-y…

[3] https://adapt.to/2018/fa/schedule/karate-the-black-belt-of-h…

[4] https://tech.trivago.com/post/2019-11-14-apitestautomationus…

[5] https://oktana.com/api-testing-using-karate-framework/



لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.