Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Реферат тестирование API.docx
Скачиваний:
6
Добавлен:
07.06.2024
Размер:
431.41 Кб
Скачать

Нагрузочное тестирование api (Postman)

Первым шагом необходимо загрузить коллекцию в инструмент Postman. Для этого нажать на кнопку “Import” и загрузить коллекцию любым удобным способом. Мы загрузили коллекцию в разделе Link.

Рисунок 1. Импорт коллекции запросов

После выгрузки, коллекция запросов отобразилась в дереве запросов, структурированная на основе эндпоинтов.

Рисунок 2. Загруженная коллекция запросов

Для реализации нагрузочного тестирования выберем парадигму пользовательских сценариев. То есть каждый сценарий будет представлять собой последовательное выполнение запросов, в соответствии с наиболее частыми действиями пользователя. Выбранные сценарии для реализации нагрузочного тестирования:

  • Авторизация;

  • Создание питомца;

  • Редактирование питомца;

  • Создание заказа на питомца;

Для того, чтобы необходимые методы выполнялись последовательно, создадим вспомогательную коллекцию запросов и реструктуризируем необходимые нам запросы.

Рисунок 3. Тестовые сценарии для выполнения нагрузочного тестирования

После того, как сформирован набор тестовых сценариев, необходимо добавить в выполнение методов проверки, которые будут выполнятся после получения ответа на каждый из запросов.

Проверки представлены в листинге 1.

Листинг 1. Проверки для каждого запроса

//POST Create user, Get logs user into system, Get user by user name

//проверка на возвращение успешного статуса

pm.test("200 status",function()

{

pm.response.to.have.status(200);

});

//проверка на ожидаемый результат выполнения

pm.test("Response time",function (){

pm.expect(pm.response.responseTime).to.be.below(400)

})

//POST add a new pet

//проверка на корректный статус ответа

pm.test("200 status",function()

{

pm.response.to.have.status(200);

});

//проверка на ожидаемое время исполнения запроса

pm.test("Response time",function (){

pm.expect(pm.response.responseTime).to.be.below(400)

});

//установка полученных значений из тела ответа в переменные окружения

var jsonData = JSON.parse(responseBody);

postman.setEnvironmentVariable("petId", jsonData.id);

postman.setEnvironmentVariable("petName",jsonData.name)

//GET find pet by id

//проверка на корректный статус ответа

pm.test("200 status",function()

{

pm.response.to.have.status(200);

});

//проверка на ожидаемое время исполнения запроса

pm.test("Response time",function (){

pm.expect(pm.response.responseTime).to.be.below(400)

});

//проверка на корректность полученных данных

pm.test("Is coorect name pet",function(){

var jsonData = JSON.parse(responseBody);

pm.environment.get("petName");

pm.expect(pm.environment.get("petName")==jsonData.name)

});

PUT update pet

//проверка на корректность статуса ответа

pm.test("200 status",function()

{

pm.response.to.have.status(200);

});

//проверка на соответствие ожидаемому времени ответа

pm.test("Response time",function (){

pm.expect(pm.response.responseTime).to.be.below(400)

})

GET find pet by id

//проверка на корректность статуса ответа

pm.test("200 status",function()

{

pm.response.to.have.status(200);

});

//проверка на соответствие ожидаемому времени ответа

pm.test("Response time",function (){

pm.expect(pm.response.responseTime).to.be.below(400)

})

//проверка на корректность внесенных изменений

pm.test("Is changed name pet",function(){

var jsonData = JSON.parse(responseBody);

pm.expect("changeName"==jsonData.id)

});

Для того, чтобы сделать запуск нагрузочного тестирования, необходимо вызвать контекстное меню коллекции запросов и нажать на Run Collection.

Рисунок 4. Контекстное меню коллекции запросов

Открывается окно, где можно указать параметры запуска коллекции. Установим 3 повторения и задержку между запросами в 60 милисекунд.

Рисунок 5. Установка параметров нагрузочного запуска коллекции

После установки всех параметров нажмем на кнопку “Run Load Testing”. После выполнения всех тестовых сценариев в окне отображается результат запуска.

Рисунок 6. Результат запуска нагрузочного тестирования