Полное руководство по использованию Postman для тестирования интерфейсов (оказывается, использовать Postman для тестирования API-интерфейсов так просто)
Полное руководство по использованию Postman для тестирования интерфейсов (оказывается, использовать Postman для тестирования API-интерфейсов так просто)

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

Зачем нам нужен интерфейс?тест

Происхождение интерфейса: Подключите интерфейсную и мобильную части.

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

Преимущества тестирования интерфейса: 1. Экономьте время и сокращайте затраты на проект. 2. Повышение эффективности работы 3. Повысить надежность системы.

Каталог этой статьи выглядит следующим образом

Введение в Почтальон

Ссылки на статьи: тест интерфейса почтальона – параметризация параметров URL-адреса на основе данных

Postman — это расширяемая платформа для разработки и тестирования API, которую можно быстро интегрировать в конвейеры CI/CD. Разработан для упрощения рабочих процессов API при тестировании и разработке.

Инструмент Postman имеет расширение Chrome и автономный клиент. Рекомендуется установить автономный клиент.

У Postman есть концепция рабочего пространства, которое делится на личное и командное. В личном рабочем пространстве можно только просматривать API. В рабочем пространстве группы можно добавлять участников и устанавливать разрешения участников, а участники могут совместно управлять API.

Конечно, я обычно не вхожу в систему для личного использования, потому что после входа в систему данные истории ваших тестов будут автоматически сохранены в вашей учетной записи, и вы сможете войти на веб-страницу, чтобы просмотреть ее. Потому что многие данные в API очень конфиденциальны, а некоторые содержат токены или какую-то личную информацию. Хотя сам Почтальон подчеркнул, что это очень безопасно и не позволит конфиденциально отслеживать информацию пользователя, но это все же хоть что-то эффективно. и не загружайте его самостоятельно, поскольку Интернет не является абсолютно безопасным. Поэтому после каждого теста я сохраняю данные (Case) локально. Когда я использую их в следующий раз или меняю устройство, я могу скопировать данные и продолжить их использование.

Давайте официально начнем знакомить с использованием Postman.

Почему стоит выбрать Почтальон?

Сегодня существует более 10 миллионов разработчиков Postman (с официального сайта). Причины выбора Postman следующие: Простой и удобный в использовании – Чтобы использовать Postman, вам нужно всего лишь войти в свою учетную запись. Пока приложение Postman установлено на вашем компьютере, вы можете легко получить доступ к своим файлам в любое время и в любом месте. Использовать коллекции – Postman позволяет пользователям создавать коллекции для вызовов API. Каждая коллекция может создавать подпапки и несколько запросов. Это помогает организовать структуру теста. Сотрудничество нескольких человек – Коллекции и среды можно импортировать или экспортировать, что упрощает обмен файлами. Прямое использование ссылок также можно использовать для обмена коллекциями. Создать среду – Создание нескольких сред помогает уменьшить дублирование тестов (DEV/QA/STG/UAT/PROD), поскольку один и тот же набор можно использовать для разных сред. Здесь происходит параметризация, о которой мы поговорим позже. Создать тест – Контрольные точки тестирования (например, проверка того, был ли статус ответа HTTP успешным) могут быть добавлены к каждому вызову API, что помогает обеспечить покрытие тестами. Автоматизированное тестирование – проходить Использовать CollectionRunner или Newman, вы можете запускать тест в несколько итераций, экономя время на повторении теста. отлаживать – Консоль Postman помогает проверять полученные данные, что упрощает их отлаживание. непрерывная интеграция——проходитьего поддержканепрерывная интеграция способность поддерживать практику развития.

Как скачать и установить Почтальон?

Шаг 1) Домашняя страница официального сайта: https://www.postman.com/downloads/, загрузите необходимую версию и установите ее.

Шаг 2) После завершения установки вам будет предложено войти в систему, прежде чем вы сможете использовать его. Вы можете зарегистрироваться без учетной записи. Регистрация бесплатна. (Вы также можете использовать учетную запись Google, но в принципе вы не можете войти в систему, вы знаете)

Шаг 3) Выберите инструмент, который вы хотите использовать в Workspace, и нажмите «Сохранить мои настройки», чтобы сохранить его.

Шаг 4) Вы увидите страницу после запуска следующим образом.

Как использовать Почтальон?

На рисунке ниже показано рабочее пространство Postman. Функции каждого модуля представлены следующим образом:

1. Создать, создать новый запрос, коллекцию или среду. Здесь вы также можете создавать более сложные документы, Mock; Server и Монитор и API. 2. Импорт. Используется для импорта коллекций или сред. Есть такие опции, как импорт из файла, папки, ссылки или вставка исходного текста. 3. Раннер, можно использовать Коллекцию Runnerосуществлять Автоматизированное информация. Последующее знакомство. 4、Open Создать: открывает новую вкладку, окно Postman или окно Runner. 5、My Workspace – Новые рабочие пространства можно создавать индивидуально или коллективно. 6、Invite – Совместная работа над рабочими пространствами, приглашая членов команды. 7、History – История всех запросов, чтобы можно было легко отслеживать, что вы сделали. 8、Collections – Организуйте свой набор тестов, создавая коллекции. Каждая коллекция может иметь подпапки и несколько запросов. Запросы или папки также можно копировать. 9、Request tab – Это отобразит заголовки запроса, который вы обрабатываете. По умолчанию для запросов без заголовков будет отображаться «Без названия». Request”。 10、HTTP Request – При нажатии на нее отобразится раскрывающийся список различных запросов, например. GET, POST, COPY, DELETE, etc. В тестировании чаще всего используется запрос GETиPOST. 11、Request URL – Также называется конечной точкой и отображает URL-адрес API. . 12、Save – Если вы вносите изменения в запрос, необходимо нажать «Сохранить», чтобы новые изменения не были потеряны или перезаписаны. 13、Params – Здесь вы напишете необходимые для запроса параметры, например Key – Value。 14、Authorization – Для доступа к API необходима соответствующая авторизация. Он может быть в форме имени пользователя, пароля, токена и т. д. 15、Headers – Запросить информацию заголовка 16、Body – Информация тела запроса, обычно используемая в POST. 17、Pre-request Script – перед запросом Сначала выполните сценарий, используя сценарий предварительного запроса, который устанавливает среду, чтобы гарантировать выполнение тестов в правильной среде. 18、Tests – Эти сценарии выполняются во время запросов. Проведение тестирования очень важно, поскольку оно устанавливает контрольные точки для проверки того, что статус ответа в порядке, что полученные данные соответствуют ожиданиям, и другие тесты. 19、Settings – В последней версии есть настройки, которые обычно не используются.

Как обрабатывать GET-запросы

Запросы на получение используются для получения информации по указанному URL-адресу без внесения каких-либо изменений в конечную точку. Здесь мы используем следующий URL-адрес в качестве демонстрации:

Язык кода:javascript
копировать
https://jsonplaceholder.typicode.com/users	

В рабочей области Почтальона: 1. Выберите метод HTTP-запроса GET. 2. Введите ссылку в поле URL. 3. Нажмите кнопку «Отправить». 4. Ниже вы увидите код состояния 200. 5. В тексте должно быть 10 результатов пользователя, указывающих на то, что ваш тест прошел успешно.

Уведомление: В некоторых случаях запросы Get могут завершиться неудачно из-за того, что URL-адрес недействителен или требует аутентификации.

Как обрабатывать POST-запросы

Запросы на публикацию отличаются от запросов на получение, поскольку существуют операции с данными, при которых пользователь добавляет данные в конечную точку. Используя те же данные из предыдущего запроса GET, теперь добавьте нашего собственного пользователя. Шаг 1) Создайте новый запрос (на следующем рисунке выбран GET, ошибка, это должен быть POST)

Step 2 ) в новом запросе 1. Выберите метод HTTP-запроса POST. 2. Введите в поле URL-адрес. Ссылка: https://jsonplaceholder.typicode.com/users 3. Переключитесь на опцию «Тело».

Step 3) Вариант кузова 1. Выберите необработанный вариант 2. Выберите JSON.

Step 4) Скопируйте первый раздел содержимого json, возвращенного предыдущим запросом GET. Меняем id на 11, меняем имя и uesrname иemail

Язык кода:javascript
копировать
[
    { 
   
        "id": 11,
        "name": "Krishna Rungta",
        "username": "Bret",
        "email": "Sincere@april.biz
	",
        "address": { 
   
            "street": "Kulas Light",
            "suite": "Apt. 556",
            "city": "Gwenborough",
            "zipcode": "92998-3874",
            "geo": { 
   
                "lat": "-37.3159",
                "lng": "81.1496"
            }
        },
        "phone": "1-770-736-8031 x56442",
        "website": "hildegard.org",
        "company": { 
   
            "name": "Romaguera-Crona",
            "catchPhrase": "Multi-layered client-server neural-net",
            "bs": "harness real-time e-markets"
        }
    }
]

Уведомление: Важно проверить формат JSON, используемый в теле, чтобы убедиться в правильности данных. Инструменты обнаружения, такие как: https://jsonformatter.curiousconcept.com/

Step 5 ) Отправить запрос 1. Завершите ввод вышеуказанной информации и нажмите кнопку «Отправить». 2. Статус: должно быть 201, что означает, что создание прошло успешно. 3. Возврат данных в теле

Как параметризовать запрос

Параметризация данных — одна из наиболее полезных функций Postman. Вы можете параметризовать переменные, которые используете, вместо того, чтобы создавать один и тот же запрос с разными данными, что позволит получить вдвое больший результат с вдвое меньшими усилиями, кратко и ясно. Эти данные могут быть получены изфайл данныхилипеременные среды。Параметризация помогает избежать повторения одного и того же.тест,Может использоваться для автоматизации итераций.

параметрпроходитьиспользоватьдвойные фигурные скобкисоздавать:{ {sample}}。 Например, следующий запрос:

Затем создайте параметризованный запрос на получение: Step 1) Создайте параметризованный запрос на получение 1. Установите HTTP-запрос GET. 2. Введите URL-адрес: https://jsonplaceholder.typicode.com/users замените часть доменного имени точки связи на параметр;,Например{ {url}}。проситьurlЭто должно быть сейчас{ {url}}/users。 3. Нажмите кнопку «Отправить». Ответа быть не должно, поскольку мы не установили источник параметров, как показано ниже:

Step 2) Используйте среду для установки необходимых параметров 1. Нажмите значок глаза. 2. Нажмите «Изменить», чтобы установить для этой переменной глобальную среду, которую можно использовать во всех коллекциях.

Step 3) переменная – переменная 1. Установите имя URL, то есть https://jsonplaceholder.typicode.com. 2. Нажмите кнопку «Сохранить».

Step 4) Если вы видите стиль на скриншоте ниже, нажмите «Закрыть».

Step 5 ) Вернитесь на страницу запроса «Получить» и нажмите кнопку «Отправить». Запрос «Получить» должен вернуть результат, как показано ниже:

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

Как создавать тесты Postman

Postman Тесты добавляют к запросам код JavaScript, помогающий проверять результаты, такие как статус успеха или неудачи, сравнение ожидаемых результатов и т. д. Обычно начинают с pm.test. Его можно сравнить с утверждениями для проверки команд, доступных в других инструментах. Затем создайте запрос, содержащий тесты: Step 1) Создать запрос на получение 1. Переключитесь на опцию «Тесты». Справа находится опция «Фрагмент кода». 2. Выберите один из вариантов фрагмента кода справа. “Status code: Code is 200” 3. JS-код автоматически появится в окне.

Step 2) Нажмите кнопку «Отправить запрос». Результаты теста отображаются, как показано ниже:

Step 3) Вернёмся на вкладку «Тесты» и добавим ещё один тест. На этот раз мы сравним ожидаемые результаты и фактические результаты. Выберите «Ответ» в области «Фрагменты» справа. body:JSON value вариант «проверить», мы проверим Линн У Грэма есть идентификатор пользователя? 1。

Step 4) 1. Замените «Ваш Test Имя» заменено на «Проверить if user with id1 is Leanne Грэма», чтобы название теста точно описывало то, что мы хотим протестировать. 2. Используйте jsonData[0].name вместо jsonData.value; Получите путь, проверьте тело перед получением результата. из-за Линн Грэм — идентификатор пользователя 1, поэтому jsonData находится в первом результате, и этот результат должен начинаться с 0. Если вы хотите получить второй результат, используйте jsonData[1] для последующих результатов. Вот и все. 3. В eql введите «Leanne Graham”

Язык кода:javascript
копировать
pm.test("Check if user with id1 is Leanne Graham", function () { 
   
    var jsonData = pm.response.json();
    pm.expect(jsonData[0].name).to.eql("Leanne Graham");
});

Step 5) Нажмите «Отправить запрос», и вы увидите, что два результата теста после вашего запроса показывают, что тест пройден.

Уведомление: В Postman можно создавать различные виды тестов. Попробуйте изучить этот инструмент и посмотреть, какие тесты вам подходят.

Как создать тестовую коллекцию

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

Step 1) Нажмите кнопку «Создать» в верхнем левом углу страницы, как показано ниже:

Step 2) Выберите Коллекция. Появится окно создания коллекции, как показано ниже.

Step 3) Введите желаемое название и описание коллекции и нажмите «Создать». Коллекция уже создана.

Step 4 ) Так же, как и в предыдущем запросе Get, нажмите «Сохранить».

Step5 ) 1. Выберите Почтальон Тестовая коллекция (Тест Collection)。 2. Нажмите «Сохранить почтальона». Test Collection

Step 6) Postman test Теперь коллекция должна содержать запрос, как показано ниже:

Step 7) Повторите описанные выше шаги 4–5 и продолжайте создавать запросы. Таким образом, тестовый набор должен содержать 2 запроса, как показано ниже.

Как использовать Collection Runner для запуска коллекции

Есть два способа запустить коллекцию: Коллекция RunnerиNewman。 Collection Runner: Step 1) Нажмите рядом с кнопкой «Импорт» вверху страницы.Runnerкнопка,Как показано ниже.

Step 2) Collection Страница Runner должна выглядеть, как показано ниже. Ниже приводится описание каждого поля.

Step 3) Установите следующие настройки и запустите тестовую коллекцию.

  • Выберите коллекцию Postmantest — номер итерации коллекции — 3.
  • Установите задержку на 2500 миллисекунд.
  • Нажмите кнопку «Начать прогон».

Step 4) После нажатия кнопки «Выполнить» откроется страница результатов запуска. В зависимости от задержки вы должны видеть результаты, отображаемые во время выполнения теста.

1. После завершения теста вы увидите, пройден ли тест или нет, а также результаты каждой итерации. 2. Вы увидите статус Pass запроса Get; 3. Так как никаких Post-тестов у нас нет, должно появиться сообщение, что в запросе нет никаких тестов.

Вы можете увидеть, насколько важно проводить тестирование внутри запроса, чтобы можно было убедиться, что статус HTTP-запроса был успешным и что данные были созданы или запрошены.

Как запустить коллекцию с помощью Newman

запустить Другой способ сказать «сбор» — через Ньюмана. Ньюман и Коллекция Основные различия между бегунами заключаются в следующем: 1. Newman - замена Postman, поэтому Newman нужно устанавливать отдельно; 2. Ньюман использует командную строку, а Коллекция Runner использует интерфейс пользовательского интерфейса; 3. Newman можно использовать для непрерывной интеграции.

Установите Newman и запустите Collection следующим образом: Step 1) Загрузите и установите NodeJs: http://nodejs.org/download/ Step 2) Откройте окно командной строки и введите следующую команду:

Язык кода:javascript
копировать
npm install -g newman

После установки, как показано ниже:

Step 3 ) После установки Newman вернемся в рабочую область Postman. В поле «Коллекции» щелкните три точки. Появятся новые параметры выбора, и вы увидите опцию «Экспорт», как показано ниже:

Step 4 ) Выберите «Экспортировать коллекцию», в которой по умолчанию используется рекомендуемая версия коллекции, например v2.1, и нажмите «Экспорт»:

Step 5 ) Выберите адрес, который хотите сохранить, и нажмите «Сохранить». Рекомендуется создать новую папку для хранения вашего Postman. tests。 Step 6 ) Нам также необходимо экспортировать нашу окружающую среду. Нажмите значок глаза рядом с раскрывающимся меню глобальной среды и выберите загрузку формата JSON. Выберите желаемое местоположение и нажмите «Сохранить». Лучше поставить среду со Step5 Экспортированная коллекция в ту же папку.

Step 7 ) Экспортная среда После перехода в папку коллекции,Теперь вернемся к командной строке,Измените каталог, в котором сохраняются ваши коллекции и среды.

Язык кода:javascript
копировать
cd C:\Users\Asus\Desktop\Postman Tests

Step 8 ) Используйте следующую команду для запуска тестовой коллекции:

Язык кода:javascript
копировать
newman run PostmanTestCollection.postman_collection.json -e Testing.postman_globals.json

Результат операции должен быть таким, как показано ниже:

Некоторые основные рекомендации по Ньюману заключаются в следующем: 1. Запускать только сбор (этот вариант можно использовать, если нет зависимостей от среды или файлов тестовых данных).

Язык кода:javascript
копировать
newman run <collection name> 

2、запустить сбори окружение (параметр -e это окружающая среда)

Язык кода:javascript
копировать
newman run <collection name> -e <environment name> 

3. Запустите итерацию сбора, используя нужный номер.

Язык кода:javascript
копировать
newman run <collection name> -n <no.of iterations>

4. Запустите файл данных

Язык кода:javascript
копировать
newman run <collection name> --data <file name>  -n <no.of iterations> -e <environment name> 

5. Установите время задержки. (Это важно, поскольку тест может завершиться неудачей, если следующий запрос будет запущен без задержки, пока предыдущий запрос будет завершен, поскольку запрос находится на фоновом сервере.)

Язык кода:javascript
копировать
newman run <collection name> -d <delay time>

Вопросы, которые будут заданы на собеседовании:

1. Какие типы интерфейсных запросов бывают? 2. В чем разница между запросом GET и запросом POST? 3. В чем разница между HTTP-запросом и HTTPS-запросом?

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/138195.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