Тестирование gRPC API с помощью Postman

Эту статью написал Аппурва Мурават.

Тестирование API гарантирует, что он последовательно обеспечивает необходимую функциональность, производительность, надежность и безопасность. Это дает вам уверенность в том, что вы сможете разрабатывать и поставлять быстрее, ускоряя обнаружение API потребителями. Но вручную тестировать каждый раз, когда вы добавляете новую функцию или исправляете ошибку в API, может быть утомительно, неэффективно и, что более важно, ненадежно. Это то, над чем мы работали, чтобы решить проблему поддержки gRPC в Postman.

Postman объявил о первоклассной поддержке gRPC в начале этого года, а затем последовал ряд улучшений, основанных на фантастических отзывах, которые мы получили от сообщества gRPC на GitHub. И теперь, в последнем выпуске, мы усилили поддержку gRPC, добавив возможность написания тестовых спецификаций для всех ваших сценариев использования. Мы надеемся, что эти улучшения сделают ваш рабочий процесс еще более эффективным, облегчив разработку и тестирование ваших API.

Новое, но знакомое

Postman стремится предоставить максимально простые и мощные пользовательские интерфейсы, чтобы вы могли сосредоточиться на реальной задаче, не задумываясь о навигации по новой территории. Мы привнесли эту философию и в новый интерфейс тестирования gRPC. Если вы когда-либо использовали Postman для отладки и написания тестов для ваших REST API, угадайте что, это те же самые концепции, которые вам нужно знать для написания тестов для ваших gRPC запросов в Postman. Если вы новичок, не волнуйтесь, мы позаботились о вас: загляните в Учебный центр Postman, чтобы начать работу.

Чтобы добавить тест, откройте свой gRPC-запрос и перейдите на вкладку Scripts. Вы можете использовать надежную среду сценариев Postman на базе Javascript для создания тестовых наборов. Вы можете добавить два различных сценария:

  • Before invoke : выполняется перед вызовом метода и установлением соединения с сервером.
  • After response : выполняется после завершения текущей транзакции (т.е. закрытия соединения с сервером).


Переход к сценариям в запросе gRPC

После того, как вы написали тесты (подробнее об этом чуть позже), вы можете наблюдать сводку тестовых утверждений рядом с вашим ответом (ответами) на вкладке Результаты тестирования:


Вызов gRPC-запроса с помощью тестов

Быстрое начало работы

Давайте начнем с написания нашего первого теста, чтобы вы могли быстро увидеть все в действии:

  1. Перейдите к сценарию After response вашего gRPC-запроса.

  2. Из списка Snippets ** справа выберите **Status code is 0.

  3. Нажмите кнопку Invoke.

Вот он, ваш первый тест!

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


Создание сценария после ответа с использованием сниппета

Суперсила скорости и точности

Сниппеты отлично подходят для первичных случаев использования, но, как вы можете себе представить, могут быть и более сложные и пользовательские сценарии, которые вы хотите протестировать. Для этого вы можете использовать полный набор API pm.* для создания своих сценариев. Ознакомьтесь с приведенными ниже тестами, чтобы получить представление о том, что можно сделать:

pm.test('Response time is below 200ms', function () { 
  pm.response.to.have.responseTime.below(200); 
});

pm.test('Correct user details are recevied', function () {
  pm.response.to.have.message({ id: "123", name: "John" });
});
Войти в полноэкранный режим Выход из полноэкранного режима

Вы даже можете проверять сообщения на соответствие заданной схеме JSON, что позволяет вам применять ряд пользовательских правил:

const schema = { 
  type: "object", 
  properties: { 
    name: { 
      type: "string", 
      pattern: "^[a-zA-Z0-9_]*$", 
      maxLength: 64 
    } 
  }, 
  required: ['name'] 
}; 

pm.test('All response messages have valid name', function () { 
  pm.response.messages.to.have.jsonSchema(schema); 
});
Войти в полноэкранный режим Выход из полноэкранного режима

Как инженеры, мы понимаем, что вам не всегда удобно обращаться к документации, поэтому автодополнение для Javascript и API pm.* в нашем редакторе скриптов поможет вам получить всю необходимую информацию для быстрого и точного создания скриптов. Надеемся, это также избавит вас от необходимости обращаться к Stack Overflow.


Автодополнение в действии

Не оставляйте ничего на волю случая

Все упомянутые выше функции и рабочие процессы распространяются на унарные, потоковые клиентские, потоковые серверные и двунаправленные потоковые методы gRPC. Это упрощает получение тестовых спецификаций для всех ваших gRPC API в одном месте — в Postman!

Еще больше возможностей

Возможность тестирования ваших gRPC API является мощным дополнением к API-платформе Postman, и это еще один способ, которым мы работаем, чтобы помочь пользователям на протяжении всего жизненного цикла API. И поддержка gRPC продолжает развиваться. Следите за новыми выпусками, в том числе:

  • Сохранение примеров для gRPC-запросов
  • Автоматические макетные серверы для всех импортированных API Protobuf
  • Автоматизация рабочих процессов тестирования gRPC с помощью Postman’s Collection Runner

Сообщение Тестирование gRPC API с помощью Postman было написано Appurva Murawat и появилось сначала на Postman Blog.

Оцените статью
devanswers.ru
Добавить комментарий