Вступление¶
Bombard - это инструмент для стресс-тестирования вашего HTTP-сервера. С его помощью легко и быстро описывать логику формирования запросов.
Он разработан, чтобы быть простым, но мощным инструментом для нагрузочного функционального тестирования.
Благодаря возможности исплоьзовать фрагменты кода Python вы можете легко и быстро описать сложную логику для тестов.
Отчет о тестировании показывает, сколько запросов в секунду способен обслуживать ваш сервер и с какой задержкой.
Описание запросов¶
Минимально в запросе достаточно указать URL, но легко описать и JSON
supply: # you can redefine variables from command line (--supply host=http://localhost/)
host: https://jsonplaceholder.typicode.com/
getToken:
url: "{host}auth" # use {host} variable from supply to stay DRY
method: POST
body: # below is JSON object for request body
email: name@example.com
password: admin
extract: # get token for next requests
token:
В первом запросе вы можете получить токен, как в примере выше.
And use it in next requests like that:
postsList:
url: "{host}posts"
headers:
Authorization: "Bearer {token}" # we get {token} in 1st request
script: |
for post in resp[:3]: # for 1st three posts from response
# schedule getPost request (from ammo section)
# and provide it with id we got from the response
reload(ammo.getPost, id=post['id'])
В приложение втроены примеры. Список встроенных примеров
bombard --examples
Командная строка¶
Из командной строки вы можете изменить количество потоков, количество повторов, переопределить пемеренные, настроить вид отчета и так далее.
Также вы можете загрузить свой собственный файл bombard.yaml
из любого понравившегося вам примера
bombard --init --example simple