Полезность гаджета «Почтальон»
Полезность гаджета «Почтальон»

напиши впереди

Каждый может использовать Postman, но многие используют его просто как простой HTTP-клиент. В большинстве случаев этого достаточно, поскольку http-вызовы являются его основной функцией.

Итак, что еще стоит сказать о таком «маленьком» инструменте?

После разработки restful-функции бэкенд должен завершить самотестирование и дождаться совместной отладки с фронтендом. Это самотестирование включает в себя модульное тестирование и тестирование интерфейса. Если одно из них завершено, трудоемкая совместная отладка может быть значительно сокращена, но оба теста часто не выполняются должным образом. Более вероятно, что из-за проблем с копированием интерфейса и установкой значений, а также из-за предпочтения использования операций с графическим интерфейсом окончательное тестирование интерфейса и совместная отладка интерфейса будут выполняться параллельно.

Если вы хорошо справились с самооценкой, то можно рассмотреть некоторые детали, например:

  1. использовать environment Чтобы избежать повторной модификации хоста при тестировании различных сред.
  2. использовать collection runner Обрабатывайте некоторые небольшие онлайн-данные через интерфейс, устраняя необходимость написания кода для обработки.

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

Основные понятия

Базовая структура пользовательского интерфейса

collections

collection Это набор запросов. Он мало чем отличается от обычной папки и к нему можно относиться так же.

Язык кода:javascript
копировать
 collection` Скрипты могут быть определены и запущены `collection runner
 collection` Вы можете продолжать рекурсивно создавать подпапки. Эти подпапки: `collection` тот же сценарий могут быть определены и запущены `collection runner

variables

variable то есть переменные, позволяющие ссылаться на них в collection、request、script Повторное использование в другом месте. Цитировать можно с помощью заполнителей, например {{Имя переменной}} , поэтому вам нужно только изменить variable стоимость, все {{Имя переменной}} Все места будут изменены одновременно.

переменный приоритет

Глобальные переменные и переменные среды можно настроить непосредственно в правом верхнем углу почтальона.

collection Переменные нужно щелкать collection > Variables добавить

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

Локальные переменные определяются в скрипте и имеют самый короткий жизненный цикл.

environments

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

нравиться {{url}}/api/resource/id=3

Scripts

мы можем collection 、Каждая папка、request Дайте определение сценарию.

Скрипты делятся на две категории: Предварительный запрос и Пост-ответ. Как следует из названия, никаких дополнительных объяснений не требуется.

request Сначала выполню себя и текущую по порядку папка、родительская папка...collection из Pre-request сценарий, а затем выполнить request , а затем выполнить в обратном порядке Post-response Скрипт.

поэтому, Pre-request Скрипты обычно отвечают за обработку подписей, шифрование данных, предварительную обработку данных и т. д.; Post-response Расшифровка обработки скрипта、Тестовые утверждения и т. д.。Официальный сайт Есть много случаев для справки.

Давайте повторим то, что мы сказали ранее variable из диапазона приоритетов, вы можете использовать скрипт для его проверки

Язык кода:javascript
копировать
 // global var 'score' = 0
 // collection var 'score' = 1
 // environment var 'score' = 2
 ​
 // first request run
 console.log(pm.variables.get('score')); // outputs 2
 console.log(pm.globals.get('score')); // outputs 0
 console.log(pm.collectionVariables.get('score')); // outputs 1
 console.log(pm.environment.get('score')); // outputs 2
 ​
 // second request run
 pm.variables.set('score', 3);//local var
 console.log(pm.variables.get('score')); // outputs 3
 ​
 // third request run
 console.log(pm.variables.get('score')); // outputs 2

Collection Runner

Место: рабочее место Нижний правый угол, контекстное меню папки. > Run Folder

Примечание: бесплатную версию можно запускать не более 25 раз в месяц, чего вполне достаточно.

Требует особого внимания из-за

  1. Задержка не имеет значения, бегун фактически выполняется как один поток.
  2. После импорта файла данных обратите внимание на функцию предварительного просмотра, чтобы проверить, соответствует ли анализ почтальона ожиданиям.
  3. Проверять Сохраняющиеся ответы, удобный просмотр неудачных запросов и ответов.
  4. runner Он однопоточный и не подходит для особо больших данных.

Data File

поддерживать csv и json Два формата, примечание, json Формат не json Сообщения импортируются напрямую,Приведите пример,Следующие два формата имеют одинаковый эффект.

Язык кода:javascript
копировать
 id,name
 1,alice
 2,bob
 [
 {"id":"1","name":"alice"},
 {"id":"2","name":"bob"}
 ]

Эффект операции

Практические навыки

Интерфейс для быстрого импорта и экспорта

postmanверхний левый уголиз import Функция предоставляет несколько способов импорта

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

Таким же образом вы также можете использовать postman функция изCode быстро генерирует curl、wget Заказ.

Collection Runner

Как напрямую импортировать сообщения JSON

Иногда,для удобства,Мы хотим поместить сообщение JSON в одну строку.,легко request Прямая цитата здесь, содержимое csv-файла нравиться ниже.

Язык кода:javascript
копировать
 json
 {"id":"1","name":"alice"}
 {"id":"2","name":"bob"}

Очень жаль, почтальон не получится разобрать,Причина в том, что двойные кавычки и запятые имеют особую логику в csv.,Мы можем использовать следующее решение: нравиться

  1. Шохара data Файл в двойных кавычках сначала заменяется одинарными кавычками, а затем добавляется в Двойные кавычки означают, что это данные.
Язык кода:javascript
копировать
 json
 "{'id':'1','name':'alice'}"
 "{'id':'2','name':'bob'}"
  1. request Сообщение запроса на китайском языке сначала устанавливается пустым, то есть {}
  2. Добавить скрипт предварительного запроса на обработку
Язык кода:javascript
копировать
 // Восстановить измененные одинарные кавычки в двойные кавычки
 let s = pm.iterationData.get("json").replaceAll("'", '"');
 // Удалите лишние двойные кавычки до и после и установите их как сообщение запроса.
 pm.request.body.raw = s.substring(1, s.length - 1);

Как быстро собирать неудачные кейсы

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

и collection runner Предоставляет функцию экспорта, которая не включает сообщения запроса и ответные сообщения. Однако можно обнаружить, что экспортированные данные содержат URL-адрес и тестовое имя, поэтому вы можете здесь повозиться, экспортируя ключевые данные с помощью следующего метода. , а затем извлекает его с помощью обычных правил. Не удалось получить данные, запустите снова. collection runner

Язык кода:javascript
копировать
 pm.test(pm.iterationData.get("billCode"), function () {
     var jsonData = pm.response.json();
     pm.expect(jsonData.success).to.eql(true);
 });

Как отобразить расшифровку ответного сообщения

postman из response body не могу пройти post-response Модифицировать скрипт и выводить его напрямую в консоль всегда неудобно. На этом этапе мы можем использовать postman из visualize функция для аппроксимации

Язык кода:javascript
копировать
 // использовать<pre>Ярлыки могут сохранять форматирование текста.,Конечно, вы также можете реализовать более сложные функции HTML самостоятельно.
 pm.visualizer.set('<pre>{{json}}</pre>', {
             json: decryptJson
         });

Ссылки

Postman JavaScript Reference

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.