NBomber — це відкритий фреймворк .NET, відкритий протокол — Apache 2.0, NBomber використовується для завантаження різних сервісів, включаючи веб, черги повідомлень, бази даних тощо. Версія NBomber 2.0 була випущена у травні цього року. NBomber схожий на JMeter, але відмінність від JMeter полягає в тому, що NBomber виражає тестові сценарії через код F#/C#/JSON.
Головна причина створення NBomber полягає в тому, щоб надати легку структуру для написання навантажувальних тестів, яку можна використовувати для тестування будь-якої системи та моделювання будь-якого продакшн-навантаження. Ми просто хочемо надати певну абстракції, щоб описувати будь-який тип корисного навантаження і при цьому мати простий, інтуїтивно зрозумілий API. Ще одна мета — надати будівельні блоки для валідації вашого POC (proof of concept) проєкту, застосовуючи будь-який складний розподіл навантаження. З NBomber можна протестувати будь-яку систему PULL або PUSH (HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Redis тощо). З NBomber ви можете легко конвертувати деякі інтеграційні тести у навантажувальні тести.
NBomber як сучасний фреймворк забезпечує:
- Протоколи нульової залежності (HTTP/WebSockets/AMQP/SQL)
- Нульова залежність від семантичних моделей (Pull/Push)
- Дуже гнучка конфігурація та дуже простий API (f#/c#/json)
- Підтримка кластера
- Звітування в реальному часі
- Інтеграція CI/CD
- Підтримка потоку даних
Адреса GitHub:Вхід за гіперпосиланням видно. Адреса документа:Вхід за гіперпосиланням видно.
Спочатку створіть новий консольний проєкт для .NET Core 3.1 і використайте nuget для встановлення наступного пакету:
Щоб отримати максимальну продуктивність від NBomber, слід редагувати налаштування проєкту за допомогою наступної конфігурації:
Налаштування збору сміття GarbageCollection має перейти на серверний і конкурентний режим:
Повне налаштування проєкту:
Перевірте надсилання GET-запиту на цей сайт і встановіть власний заголовок запиту з таким кодом:
Програма автоматично згенерує тестовий звіт у каталогу bin\Debug\netcoreapp3.1\reports\, як показано на рисунку нижче:
(Кінець)
|