Postmantool_postman руководство по установке и использованию
Postmantool_postman руководство по установке и использованию

Привет всем, мы снова встретились, я ваш друг Цюаньчжаньцзюнь

postmanэто поддержкаhttpОтладка и тестирование интерфейса протоколаинструмент,Его главная особенность – мощная функция.,Простой и удобный в использовании.

Независимо от того, занимаются ли разработчики интерфейсом отладкой или тестировщики, мы предпочитаем использовать postman.

Тогда давайте представим, какие функции есть у почтальона и что они могут делать. Давайте сначала интуитивно через картинку рассмотрим функции, включенные в почтальон.

картина

Конечно, приведенные выше функции показывают только часть функций почтальона. Чтобы более полно отразить характеристики этого инструмента, я объясню его с точки зрения следующих трех измерений. Они есть:

  • Основные функции
    • Распространенные типы запросов интерфейса
    • Анализ данных ответа интерфейса
    • Управление интерфейсом (Коллекция)
    • Пакетное выполнение запросов интерфейса
    • Отладка журнала
    • утверждение
    • переменная
    • Запросить предварительный сценарий
    • Ассоциация интерфейса
    • Получение общей возвращаемой стоимости
  • Удобные и быстрые функции
    • Быстрое заполнение параметров запроса
    • Быстрое заполнение информации заголовка запроса
    • Быстро добавить заявку
    • Как наследовать аутентификацию коллекции
    • партияутверждение
    • Быстрый поиск и замена
  • Расширенные функции
    • Чтение файла для параметризации
    • Создать отчет об испытаниях
    • Отправить запрос в коде
    • Написание документации по интерфейсу
    • ложный сервис
    • монитор
    • Использовать рабочую область
    • Синхронизация кода и управление ветвями
    • Подключиться к базе данных
    • apis

1. инструкция по установке почтальона

Postman больше не поддерживает версию браузера после 2018 года. Поэтому, если вы хотите использовать его, вам необходимо сначала загрузить клиент, а затем установить его. В качестве примера для установки ниже будет использована система Windows.

1. Загрузите и установите

Шаги установки почтальона:

1. Посетите официальный сайт почтальона и загрузите последнюю версию.

Посетите адрес: https://www.getpostman.com/

2. Войдите на страницу загрузки и загрузите соответствующую версию для вашего компьютера.

картина

3. Дважды щелкните загруженный установочный пакет, чтобы войти в интерфейс установки, пока не появится интерфейс входа и регистрации пользователя.

Для личного использования просто выберите «Пропустить», и вы войдете в основной интерфейс почтальона. Postman успешно установлен (рисунок ниже).

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

картина

2. Инструкции по навигации по интерфейсу

Друзья, впервые использующие Postman, могут быть не знакомы с некоторыми элементами интерфейса. Вот изображение, иллюстрирующее значение этих элементов.

картина

3. Отправьте первый запрос

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

1. Откройте почтальон и нажмите знак + плюс, чтобы открыть новую страницу запроса.

2. Введите адрес запроса в запрашиваемый URL:

http://www.weather.com.cn/data/sk/101010100.html

3. Нажмите кнопку «Отправить», и вы увидите данные ответа json с сервера на нижней панели.

картина

2. Основные функции почтальона

1. Распространенные типы запросов интерфейса

Существует четыре распространенных типа интерфейсов, а именно интерфейсы, содержащие параметры запроса, интерфейсы типа формы, интерфейсы типа json и интерфейсы, содержащие загруженные файлы. Ниже описаны эти четыре типа интерфейсов и способы их запроса в Postman.

1.1. Запрос интерфейса для параметров запроса.

Что такое параметры запроса?

Так называемые параметры запроса на самом деле представляют собой часть URL-адреса после вопросительного знака (?), которая называется параметрами запроса, например: http://cx.shouji.360.cn/phonearea.php?number=13012345678. . В этом интерфейсе параметр запроса: номер=13012345678.

Эта часть состоит из пар ключ-значение.,Формат::key1=value1&key2=value2, Если существует несколько наборов пар ключ-значение,Хотите использовать&отдельный 。

Как вызвать почтальона

Реализовать запросы для этого типа интерфейса в почтальоне очень просто. Обычно вам нужно указать два параметра: один — метод запроса, а другой — адрес запроса.

Для вышеуказанного интерфейса указан адрес и метод запроса — get. Тогда вам нужно всего лишь заполнить эти два параметра в почтальоне для запроса.

Конкретные этапы реализации:

1. Откройте почтальон и создайте новый запрос.

2. Выберите метод запроса: GET в методе запроса. Поскольку в Postman используется метод запроса по умолчанию, этот шаг можно игнорировать.

3. Введите адрес в URL-адресе интерфейса и нажмите кнопку «Отправить», чтобы отправить запрос.

картина

Примечание. Как правило, URL-адрес параметра запроса можно скопировать непосредственно в адресную строку входного URL-адреса. Конечно, параметр запроса также можно ввести в Params. Эффект обоих одинаков.

1.2 Запрос интерфейса типа формы

Что такое форма?

Мы все знаем, что при отправке HTTP-запроса запрос обычно состоит из трех частей: строки запроса, заголовка запроса и тела запроса.

Разные интерфейсы имеют разные типы данных тела запроса. Более распространенным является тип формы. Так что же такое тип формы? Проще говоря, нужно проверить Content-Type в заголовке запроса. Если его значение равно: application/x-www-form-urlencoded, это означает, что данные, отправленные клиентом, передаются в форме. Смотрите картинку ниже:

картина

Как сделать запрос в почтальоне?

Если мы запросим интерфейс, показанный выше, в почтальоне, нам нужно будет заполнить только четыре параметра (см. рисунок выше):

  • Метод запроса: POST
  • проситьURL:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.21942974229794432
  • Заголовок запроса: Content-Type: application/x-www-form-urlencode
  • Тело запроса:username=13088888888&password=123456&verify_code=8888

Этапы реализации:

  1. Откройте почтальон и создайте новый запрос.
  2. Установите указанные выше четыре параметра в запросе существования.,Нажмите кнопку «Отправить». Установите тип тела запроса в существующем postman на,Нужно выбратьbody-> x-www-form-urlencoded
  3. Просмотрите данные ответа.

картина

1.3 Форма запроса на загрузку файлов

При тестировании интерфейсов мы часто сталкиваемся с интерфейсами, требующими загрузки файлов, например обновление аватаров в WeChat. Для этого необходимо использовать: multipart/form-data. Это тоже форма, но она поддерживает как запросы форм, так и загрузку файлов. Данные в сообщении запроса часто следующие.

Язык кода:javascript
копировать
POST http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html HTTP/1.1  
Content-Type: multipart/form-data  
  
file=a1.jpg

Как запросить этот тип интерфейса в почтальоне? Давайте сначала разберем параметры, которые необходимо заполнить.

  • Метод запроса: POST
  • URL-адрес: http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html
  • Тип запроса: multipart/form-data
  • Тело запроса: file=a1.jpg

Этапы реализации:

  1. Откройте почтальон и создайте новый запрос.
  2. Установите указанные выше четыре параметра в запросе существования.,Нажмите кнопку «Отправить». Примечание. Установите тип тела запроса в postman.,Нужно выбратьbody-> form-data . В файле выберите тип файла, а затем загрузите локальный файл. 。
  3. Просмотрите данные ответа.

картина

1.4 запрос интерфейса типа json

Это должна быть наиболее распространенная ситуация при тестировании интерфейса, то есть тип тела запроса — json. Давайте посмотрим на это сообщение запроса.

Язык кода:javascript
копировать
POST http://xxx/api/sys/login HTTP/1.1  
Content-Type: application/json;charset=UTF-8  
  
{"account":"root","password":"123456"}

Основываясь на приведенном выше сообщении, мы можем проанализировать, что нам нужно заполнить в почтальоне только четыре параметра, а именно:

  • Метод запроса: POST
  • Адрес запроса: http://xxx/api/sys/login
  • Тип тела запроса: json
  • Данные тела запроса: {“account”:”root””,password”:”123456″}

Этапы реализации:

  1. Откройте почтальон и создайте новый запрос.
  2. Установите указанные выше четыре параметра в запросе существования.,Нажмите кнопку «Отправить». Примечание. Установите тип тела запроса в postman.,Нужно выбратьbody-> raw -JSON
  3. Просмотрите данные ответа.

картина

2. Анализ данных ответа интерфейса

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

картина

Отображение данных ответа в почтальоне:

  • Строка состояния: Статус: 200 ОК
  • Заголовки ответов: Заголовки + Файлы cookie, следует отметить, что файлы cookie включены в существующий заголовок ответа, но для ясности инструмент будет отображаться отдельно.
  • Тело ответа: Тело

Так какую же роль эти данные играют в нашем тестировании интерфейса?

  • Тело и Статус – это то, что мы делаем Тестирование Ключевым моментом интерфейса является то, что, вообще говоря, мы будем проверять данные в теле ответа и коде состояния ответа.
  • Test Results После того, как мы напишем утверждение, мы можем просмотреть результаты выполнения утверждения. , так что это тоже очень полезно для нас 。
  • Time и Размер Это мы делаем это производительности, вы можете сделать простое суждение о производительности измеряемого интерфейса на основе этих двух параметров.

Далее давайте сосредоточимся на нескольких темах отображения в Body, а именно: Pretty, Raw и Preview.

картина

Красиво: в переводе на китайский это означает «красиво». То есть все возвращаемые данные Body, просматриваемые в этом теге, отформатированы. Отформатированные данные выглядят более интуитивно понятными, поэтому Postman также отображает эту опцию по умолчанию. Например, если вы вернете страницу html, она будет отформатирована в формате HTML и отображена. Например, если вы вернете json, она также будет отформатирована и отображена в формате json.

Необработанные данные: переведены на китайский язык без обработки, то есть необработанные данные обычно имеют формат этой статьи и не форматируются. Эта опция обычно доступна в инструментах захвата пакетов.

Предварительный просмотр: в переводе на китайский язык это предварительный просмотр. Этот параметр обычно особенно эффективен для страниц, возвращающих HTML. Например, после запроса Baidu на возврат результатов вы можете напрямую просмотреть страницу, щелкнув этот параметр, как показано ниже. В то же время эта опция аналогична предварительному просмотру при перехвате пакетов браузера.

картина

3. Управление интерфейсом (Коллекция)

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

Давайте сначала подведем краткий итог сценариев использования функции «Коллекция».

  • Используйте управление классификацией обращений для облегчения последующего обслуживания.
  • Можно провести пакетное регрессионное тестирование вариантов использования.

Так как же Collection управляет вариантами использования? Сначала представьте, что мы хотим протестировать систему. В системе имеется несколько модулей, и в каждом модуле есть множество вариантов использования тестового интерфейса. Итак, основываясь на этом сценарии, давайте реализуем его через Collection:

1. Нажмите «Коллекция», нажмите «+Новая коллекция» и во всплывающем поле ввода введите название коллекции (под этим можно понимать тестируемую систему).

картина

2. Щелкните правой кнопкой мыши по вновь созданной Коллекции, нажмите «Добавить папку» и во всплывающем диалоговом окне введите имя папки (под этим можно понимать модуль в системе).

картина

3. Выберите вновь созданную папку, нажмите «Добавить запрос» и введите имя запроса во всплывающем диалоговом окне. Это интерфейс, который мы тестируем, и его также можно рассматривать как тестовый пример.

картина

Затем с помощью трех вышеуказанных шагов достигается такой эффект, как показано на рисунке:

картина

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

4. Пакетное выполнение запросов интерфейса.

Когда мы пишем множество тестовых примеров интерфейса в коллекции и хотим выполнить эти тестовые примеры вместе, как нам это сделать в postman?

Этапы реализации:

1. Выберите коллекцию, щелкните правый треугольник и нажмите «Выполнить» во всплывающем интерфейсе.

картина

2. Откроется интерфейс Collection Runner, который по умолчанию выберет все варианты использования в коллекции.

картина

3. Нажмите «Выполнить коллекцию» в нижней части интерфейса, чтобы запустить все тестовые примеры, выбранные в коллекции.

картина

Краткое объяснение функций в красных полях выше:

  • Статистика утверждения: два нуля в верхнем левом углу — это статистика количества успешных и неудачных выполнений утверждения в текущей коллекции. Если утверждение не записано, значение по умолчанию — 0. 。
  • Run Summary: Обзор результатов выполнения. Нажмите на него, чтобы просмотреть конкретные сведения о тесте в каждом запросе. 。Export Результат: экспортируйте текущие результаты, файл JSON экспортируемых результатов по умолчанию. 。
  • Повторить: перезапустить, нажатие на эту кнопку приведет к повторному запуску коллекции.
  • Новое: вернитесь в Runner, и вы сможете повторно выбрать комбинацию вариантов использования.

Вообще говоря, эта функция в основном используется для пакетного запуска всех или части вариантов использования в коллекции для достижения цели ручного регрессионного тестирования.

5. Отладка журнала

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

JavaScript используется для написания операторов печати журналов в почтальоне, а место записи может находиться в скрипте предварительного запроса или теге «Тесты». Напишите оператор печати, например: console.log («Я журнал»)

картина

Так как же увидеть напечатанную дату? В почтальоне два входа. Первый вход: обзорно-показной пульт почтальона.

Второй вход — это третий значок в левом нижнем углу.

картина

Открытый интерфейс журнала:

картина

Здесь есть несколько практических функций:

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

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

6. Аффирмация

Без ассертов мы можем проводить только функциональное тестирование интерфейса, но с ассертами это дает нам условия для автоматизации, а ассерты в почтальоне очень удобны и мощны.

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

  • утверждение Место написания: Тег Tests
  • Язык утверждения: JavaScript
  • последовательность выполнения утверждения: существование выполняется после возврата данных тела ответа. 。
  • утверждение Просмотр результатов выполнения: Тест Results

Выше мы говорили, что написанный код утверждения представляет собой JavaScript, так что, если вы не можете его написать? Не волнуйтесь, потому что Postman встроил для нас некоторые часто используемые утверждения. При его использовании просто щелкните одно из утверждений справа, и соответствующий блок кода утверждения будет автоматически сгенерирован в текстовом поле.

картина

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

Строка состояния также содержит коды состояния и сообщения о состоянии. Вы также можете утверждать эти два в почтальоне

Утверждение в строке состояния:

  • утверждениекод состояния:Status code: code is 200、、、、、、、、、、、、、、、、、、、、
Язык кода:javascript
копировать
pm.test("Status code is 200", function () {  
    pm.response.to.have.status(200); //Заполненные здесь 200 — это ожидаемый результат, а фактический результат — это результат возврата запроса.  
});
  • утверждениесообщение о состоянии:Status code:code name has string
Язык кода:javascript
копировать
pm.test("Status code name has string", function () {  
    pm.response.to.have.status("OK"); //сообщение о статусе ответа на утверждение содержит OK  
});

Утверждения в заголовках ответов

  • утверждение Заголовок ответа содержит: Ответ headers:Content-Type header check
Язык кода:javascript
копировать
pm.test("Content-Type is present",function () {  
    pm.response.to.have.header("Content-Type"); //утверждение Хранение заголовка ответасуществовать"Content-Type"  
});

Тело ответа Assert (выделено)

  • утверждение Тело ответа содержит строку XXX: Response body:Contains string
Язык кода:javascript
копировать
pm.test("Body matches string", function () {  
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");  
});  
//аннотация  
pm.expect(pm.response.text()).to.include("string") Получить текст ответа, содержащий строку
  • утверждение Тело ответа равно строке XXX: Response body : is equal to a string
Язык кода:javascript
копировать
pm.test("Body is correct", function () {  
    pm.response.to.have.body("response_body_string");  
});  
//аннотация  
pm.response.to.have.body("response_body_string"); Получите тело ответа, равное response_body_string.
  • утверждение Значение, соответствующее имени ключа в теле ответа (json): Response body : JSON value check
Язык кода:javascript
копировать
pm.test("Your test name", function () {  
    var jsonData = pm.response.json();  
    pm.expect(jsonData.value).to.eql(100);  
});  
//аннотация  
var jsonData = pm.response.json() Получите тело ответа, отобразите его в формате json и назначьте его jsonData. Примечание. Тело ответа должно быть возвращено в формате JSON, иначе будет сообщено об ошибке.  
pm.expect(jsonData.value).to.eql(100) Получите значение со значением имени ключа в jsonData, а затем сравните его со 100.

Время отклика (обычно используется для тестирования производительности)

  • утверждение Время ответа: Ответ time is less than 200ms
Язык кода:javascript
копировать
pm.test("Response time is less than 200ms", function () {  
    pm.expect(pm.response.responseTime).to.be.below(200); //утверждениевремя ответа<200ms  
});

Описание случая:

Сделайте утверждения по данным, возвращаемым следующими интерфейсами:

Язык кода:javascript
копировать
{  
    "cityid": "101120101",  
    "city": «Цзинань»,  
    "update_time": "2020-04-17 10:50",  
    "wea": "прозрачный",  
    "wea_img": "qing",  
    "tem": "16",  
    "tem_day": "20",  
    "tem_night": "9",  
    "win": «Северо-восточный ветер»,  
    "win_speed": «Уровень 3»,  
    "win_meter": «Менее 12 км/ч»,  
    "air": "113"  
}
  • Код статуса ответа на утверждение: 200.
  • город утверждения равен Цзинаню
  • утверждениеupdate_timeВключать2020-04-17

картина

Подводя итог, можно сказать, что если вы используете Postman для тестирования интерфейса, эта функция утверждения незаменима. Среди них очень важны два утверждения, которые мы часто утверждаем, и JSON.

7. Переменные (глобальные/коллекция/среда)

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

Еще одна очень важная для нас функция — тестирование интерфейса.

Три часто используемые переменные в почтальоне — это глобальные переменные, переменные среды и переменные коллекции.

  • Глобальная переменная: как только глобальная переменная объявлена, она становится глобально допустимой, что означает, что любая коллекция в почтальоне и любой запрос могут использовать эту переменную. Его масштаб является самым большим 。
  • Переменная среда: чтобы объявить среду переменной, сначала создайте среду, а затем создайте переменную в существующей среде. . Если вы хотите использовать переменную среду, вам необходимо сначала выбрать (импортировать) эту среду, чтобы можно было использовать переменную в этой среде. . Следует отметить, что среда также может создавать множество . В каждой среде может быть несколько переменных 。
  • Set переменная: Набор переменная предназначен для наборов, что означает, что объявленная переменная должна быть основана на определенном наборе, и ее область использования действительна только для этого набора. 。

в,Их масштабы варьируются от больших до маленьких.:общая ситуацияпеременная>собиратьпеременная>средапеременная . Если одна и та же переменная объявлена ​​в нескольких разных областях видимости, первой будет использоваться переменная с наименьшей областью действия.

Если вы хотите использовать значение переменной, вам нужно всего два шага, а именно определение переменной и ее получение.

  1. Определить переменные(настраиватьпеременная)
  2. Получить переменные(доступпеременная)

Определить переменные

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

картина

Определенные глобальные переменные и переменные среды можно быстро просмотреть:

картина

Определить переменные коллекции

Выберите коллекцию, откройте меню «Просмотреть дополнительные действия» (…) и нажмите «Изменить». Выберите вкладку «Переменные», чтобы изменить или добавить переменные коллекции.

картина

Определить переменные Помимо вышеперечисленных способов, есть еще один способ . Однако этот метод определен в разных местах и ​​написан по-разному.

Определено в URL, параметрах, авторизации, заголовках, теле:

1. Вручную создайте пустое имя переменной.

2. Щелкните правой кнопкой мыши нужное значение в указанной выше позиции, выберите «Установить: Среда глобальная» | выберите имя переменной, и после щелчка оно будет сохранено в этой переменной.

картина

существовать Тесты, сценарий предварительных запросов:

  • определениеобщая ситуацияпеременная:pm.collectionVariables.set(“переменнаяимя”,переменнаяценить)
  • определениесредапеременная:pm.environment.set(“переменнаяимя”,переменнаяценить)
  • Определить переменные коллекции:pm.variables.set(“переменнаяимя”,переменнаяценить)

Получить переменные

После определения переменных вы можете использовать их. . Следует отметить, что существуют разные локации. переменные, правила написания тоже разные. 。

Если параметр запроса существует в Tweet переменные, независимо от того, нужно ли получить глобальную переменную, переменную среды или переменную коллекцию, способ получения - одно и то же правило записи: { {Имя переменной}} 。

  • К параметрам запроса относятся: URL, параметры, авторизация, заголовки, тело.

Если там написан код (Тесты, Предварительные запросы Script)Получить переменные, для получения разных типов переменных пишутся разные коды, подробности следующие:

  • получатьсредапеременная:pm.environment.get(‘переменнаяимя’)
  • получатьобщая ситуацияпеременная:pm.globals.get(‘переменнаяимя’)
  • получатьсобиратьпеременная:pm.pm.collectionVariables.get.get(‘переменнаяимя’)

картина

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

8. Запросить предварительный сценарий

Предварительный сценарий на самом деле представляет собой сценарий JavaScript, написанный на языке Pre-requests Script. Если вы хотите понять эту функцию, вам необходимо сначала понять последовательность ее выполнения. Итак, давайте посмотрим на последовательность его выполнения.

Видно, что перед отправкой запроса сначала будет выполнен код в сценарии предварительного запроса. Так что же эта функция делает в реальной работе?

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

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

Далее давайте посмотрим, как эта функция используется через кейс?

Случай:

  • Запрошенный URL-адрес интерфейса входа в систему, значение параметра t требует правила, согласно которому каждый запрос должен быть случайным числом.
  • адрес интерфейса:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428

картина

Этапы реализации:

  1. Напишите предварительный скрипт для генерации случайных чисел
  2. Сохраните это значение как переменную среды.
  3. Замените значение параметра t значением переменной среды. 。

картина

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

9. Ассоциация интерфейса

Такая ситуация часто возникает в протестированных нами интерфейсах. Возвращаемые данные предыдущего интерфейса являются входным параметром следующего интерфейса, поэтому эти два интерфейса связаны. Такого рода ассоциации очень распространены при тестировании интерфейса, так как же реализовать такую ​​ассоциацию в почтальоне?

Идеи реализации:

  1. Извлеките значение возвращаемых данных предыдущего интерфейса,
  2. Сохраните это значение данных в среде переменная или в глобальной переменной.
  3. существует Следующий интерфейс получает переменную окружения или глобальную переменную

Случай:

  • Функция загрузки аватара пользователя требует, чтобы пользователь сначала загрузил изображение, а затем он автоматически просматривается. . Затем в этом процессе будут вызваны два интерфейса , первый интерфейс для загрузки аватаров, второй интерфейс для предварительного просмотра изображений 。
  • После успешного вызова интерфейса загрузки аватара будет возвращена следующая информация:
Язык кода:javascript
копировать
{  
    "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg",  
    "title": "banner",  
    "original": "",  
    "state": "SUCCESS",  
    "path": "images"  
}

URL-адрес интерфейса предварительного просмотра изображения:

http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg. Видно, что вторая половина URL-адреса этого интерфейса на самом деле является значением URL-адреса, возвращенного предыдущим интерфейсом. Тогда эти два интерфейса связаны. Затем в почтальоне вы можете завершить реализацию ассоциации этих двух интерфейсов, выполнив следующие три шага.

Этапы реализации:

  1. Получите значение URL-адреса, возвращаемого интерфейсом загрузки аватара.
  2. Сохраните это значение как глобальную переменную (также можно использовать переменную окружающей среды).
  3. существовать Использовать глобальную переменную при предварительном просмотре изображения

картина

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

10. Получение общей возвращаемой стоимости

При тестировании интерфейса данные, возвращаемые интерфейсом запроса, представляют собой очень сложные данные json с несколькими уровнями вложенности. Как получить такие уровни данных в Postman?

Случай 1: Многоуровневое вложение json, получение значения user_id

Язык кода:javascript
копировать
{  
    "code": 0,  
    "message": «Запрос успешен!»,  
    "data": {  
        "user_id": "1252163151781167104"  
    }  
}
Язык кода:javascript
копировать
//Получаем данные тела в формате JSON  
var jsonData = pm.response.json()  
// Получить значение user_id, полученный через.  
var user_id = jsonData.data.user_id

Случай 2: есть список в формате json, второй элемент получаем в баллах.

Язык кода:javascript
копировать
{  
    "code": 0,  
    "message": «Запрос успешен!»,  
    "data": {  
        "roles": {  
            "api": [  
                "API-USER-DELETE"  
            ],  
            "points": [  
                "point-user-delete",  
                "POINT-USER-UPDATE",  
                "POINT-USER-ADD"  
            ]  
        },  
        "authCache": null  
    }  
}
Язык кода:javascript
копировать
//Получаем данные тела в формате JSON  
var jsonData = pm.response.json()  
// Получить значение user_id, получает элемент в списке через индекс  
var user_id = jsonData.data.roles.points[1]

Случай 3: получить последний элемент из списка

Язык кода:javascript
копировать
{  
    "code": 0,  
    "message": «Запрос успешен!»,  
    "data": {  
        "total": 24,  
        "rows": [  
             
            {  
                "id": "1066370498633486336",  
                "mobile": "15812340003",  
                "username": "zbz"  
            },  
            {  
                "id": "1071632760222810112",  
                "mobile": "16612094236",  
                "username": "llx"  
            },  
            ...  
            {  
                "id": "1075383133106425856",  
                "mobile": "13523679872",  
                "username": "test001",  
         
            },
Язык кода:javascript
копировать
//Получаем данные тела в формате JSON  
var jsonData = pm.response.json()  
// Получите значение id и получите последний элемент в списке через срез (-1).  
var id = jsonData.data.rows.slice(-1)[0]

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

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/193118.html Исходная ссылка: https://javaforall.cn

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose