Эту статью написал Аппурва Мурават.
Тестирование 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-запроса с помощью тестов
Быстрое начало работы
Давайте начнем с написания нашего первого теста, чтобы вы могли быстро увидеть все в действии:
-
Перейдите к сценарию After response вашего gRPC-запроса.
-
Из списка Snippets ** справа выберите **Status code is 0.
-
Нажмите кнопку 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.