Junior
Разкажи за Postman и неговите възможности при тестване на API.
sobes.tech AI
Отговор от AI
Postman е настолно приложение и уеб платформа за разработка и тестване на API. Той позволява изпращане на HTTP заявки, преглеждане на отговорите, създаване на колекции от заявки, автоматизиране на тестовете, документация на API и съвместна работа по проекти.
Основните функции на Postman за тестване на API:
- Създаване и изпращане на заявки: Поддържа всички основни HTTP методи (GET, POST, PUT, DELETE, PATCH). Позволява настройка на параметри, заглавки, тяло на заявката (форми, JSON, XML и др.).
- Преглед и анализ на отговорите: Показва статус код, заглавки и тяло на отговора. Позволява форматиране и търсене на данни в отговора.
- Работа с колекции: Организация на заявки в папки и категории. Удобно за групиране на свързани тестове.
- Променливи и среди: Съхраняване и използване на променливи (URL, токени и др.) в заявки. Бързо превключване между различни тестови среди (dev, staging, prod).
- Pre-request и Tests скриптове:
- Pre-request скриптове: Изпълняват се преди изпращане на заявката. Могат да се използват за подготовка на данни, генериране на токени и др. Написани на JavaScript.
- Тестове: Изпълняват се след получаване на отговора. Позволяват проверка на статус код, заглавки, тяло, време за отговор и други параметри. Написани на JavaScript с използване на фреймуърка Chai.js.
- Автоматизация на тестването с Collection Runner: Позволява автоматично стартиране на цялата колекция или избрани заявки. Може да се настрои редът на изпълнение, итерации, забавяния. Резултатите се показват в отчет.
- Интеграция с CI/CD системи: Възможност за стартиране на тестове от командния ред с Newman (CLI runner за Postman) и интеграция с Jenkins, GitLab CI, GitHub Actions и други.
- Документиране на API: Автоматично създаване на документация въз основа на заявките в колекцията. Удобно за споделяне с други екипи или клиенти.
- Съвместна работа: Възможност за споделяне на колекции, променливи и среди с други членове на екипа.
Пример за скрипт за проверка на статус на отговора и наличие на поле в тялото:
// Проверка на статус кода
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// Проверка за наличие на поле "success" в тялото (очаква се булева стойност)
pm.test("Response body has 'success' property", function () {
const responseJson = pm.response.json();
pm.expect(responseJson).to.have.property('success');
pm.expect(responseJson.success).to.be.a('boolean'); // Опционална проверка за тип
});
Пример за използване на променливи на средата:
// Използване на променливата {{baseUrl}} в URL на заявката
// В Pre-request Script получаване на токен и съхраняване в променлива на средата
pm.environment.set("authToken", responseData.token);
// В заглавката на заявката използване на променливата {{authToken}} за Authorization
Postman значително улеснява тестването на API, правейки го по-ефективно и удобно.