Sobes.tech
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, правейки го по-ефективно и удобно.