Показаны сообщения с ярлыком Postman. Показать все сообщения
Показаны сообщения с ярлыком Postman. Показать все сообщения

четверг, 26 февраля 2026 г.

1 тест = 1 проверка. Чем хорош принцип атомарности в автотестах в Postman

 


Ссылка на Хабр

Принцип атомарности (объект или операцию нельзя разделить на части, не нарушив их целостность или смысл) применяется в как в разработке кода ПО, так и в разработке кода автотестов.

И в автотестах Postman он особенно хорош! Давайте разберемся на примерах, почему лучше писать небольшие автотестики, «один тест, одна проверка», чем «много проверок в одном тесте».

четверг, 31 июля 2025 г.

Как в Postman использовать данные из файла


Ссылка на ХАБР


В Postman есть возможность загружать данные из файла — указал в запросе «возьми имя из файла», сделал файл на 100 имен, и вуаля! Запускаешь 1 запрос, а он выполняется 100 раз с разными данными.

Так удобно готовить тестовые данные. Заранее прикинул классы эквивалентности, и создал всё одним махом. Нужно исправить? Вот он, файлик, в формате csv или json — легко читается, легко исправляется. 


А вот что с этим файликом делать дальше? Как сказать постману, что мы хотим подставить эти данные в запрос или в автотест? Где какой синтаксис использовать? Об этом и поговорим в статье на примере системы Users


Я выложила файлы и запросы, используемые в статье, на гитхаб — можно скачать и использовать «на пробу», так как Users открытая бесплатная система, все запросы будут работать.


четверг, 23 мая 2024 г.

Как в pm.sendRequest() выполнить запросы в нужном порядке

Это выдержка из статьи «Как подготовить данные для запроса в Postman через pre-request». 


В Postman есть функция pm.sendRequest(), которая позволяет выполнять запросы до выполнения вашего основного запроса. Но есть проблемка, когда мы хотим вызвать несколько запросов подряд...

Кажется, что это будет легко. Просто напишем 2 pre-request и вызовем их подряд:

pm.sendRequest(req1, done); pm.sendRequest(req2, done); 

Но если второй запрос зависит от первого, он упадет. Почему? Потому что функция pm.sendRequests асинхронна. Это значит, что она сразу отправит оба запроса, а не будет дожидаться, когда отработает req1, чтобы запустить req2. 

Что такое pm.sendRequest в Postman

Это выдержка из статьи «Как подготовить данные для запроса в Postman через pre-request». 


Метод pm.sendRequest нужен для того, чтобы асинхронно отправлять запросы в Postman до или после выполнения основного запроса (Pre-request или Post-response скрипты). Документация тут.

Зачем это нужно?

  • Pre-request — подготовить данные для выполнения текущего запроса (перед поиском создаем объект с нужными полями)
  • Post-response — чистим за собой (удаляем созданное в pre-request)

Как подготовить данные для запроса в Postman через pre-request

Принцип хорошего автотеста — «Подготовь себе данные сам. Не надейся, что они уже существуют». Такой тест можно прогнать на любом стенде, даже пустом. Сам себе всё подготовил, прогнал тест, а потом ещё почистил за собой.


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

Подготовка данных делается через функцию pm.sendRequest() в pre-request скриптах, и в этой статье я покажу, как её использовать. Показывать буду в стиле «бери и повторяй» с примерами на бесплатной системе Users.

Ссылка на ХАБР


среда, 22 мая 2024 г.

Обновление интерфейса в Postman, где теперь автотесты

Есть у меня видео на канале — Пишем первый автотест в Postman. Само видео и код автотеста остались верными, а вот интерфейс изменился. Посмотрим, как именно.


Было

Были 2 отдельные вкладки:

  • Pre-request scripts — то, что выполняется ДО запроса
  • Tests — то, что выполняется после получения ответа


пятница, 17 мая 2024 г.

Как настроить Postman для работы с Charles Proxy

Если необходимо через Charles Proxy перехватить данные из Postman, нужно его настроить. Давайте разберемся, как это сделать! 

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


Настройка Postman 

1. "File" "Setting" → вкладка "Proxy"Proxy configurations for sending requests



вторник, 29 ноября 2022 г.

Postman — как посмотреть, какой запрос ушел на сервер

Допустим, мы вызываем метод doRegister в Users (для просмотра ТЗ использовать эти данные). Так как ФИО и email должны быть уникальными, используем динамические переменные из Postman. Получается такой запрос:

{
    "email""test{{$randomInt}}@mail.com",
    "name"" Машенька{{$randomInt}}",
    "password""1"
}

На как понять, что при этом уйдет на сервер? Какое именно число?

Можно нажать на кнопку code справа


понедельник, 1 марта 2021 г.

Response body was not logged в Postman, что делать

Допустим, что вы запустили в Postman коллекцию и хотите посмотреть, какой ответ вернул сервер на запрос. Но ой, ответ не логируется:

Response body was not logged


Что делать?

четверг, 2 июля 2020 г.

Как отправить фото в формате base64 через Soap Ui

Чтобы отправить фото в формате base64, нужно:
  1. Выбрать изображение
  2. Загрузить через любой сервис конвертирования изображения в base64 строку, например, https://www.base64-image.de/
  3. Скопировать полученную строку целиком, включая начало: «data:image/png;base64,iVBORw0KG...»
  4. Вставить в параметр для передачи фото в формате base64
Профит! Инструкция одинаковая для REST и SOAP. 

Но смысл этого поста, разумеется, не в инструкции. А в том, чтобы сразу ее применить! Попробовать пощупать самостоятельно. Сделать это можно в API бесплатной системы Shop, метод create или update.


Мы будем вызывать метод create через Soap Ui, проверяя SOAP API. Для этого нужно:

Как отправить фото в формате base64 через Postman

Чтобы отправить фото в формате base64, нужно:
  1. Выбрать изображение
  2. Загрузить через любой сервис конвертирования изображения в base64 строку, например, https://www.base64-image.de/
  3. Скопировать полученную строку целиком, включая начало: «data:image/png;base64,iVBORw0KG...»
  4. Вставить в параметр для передачи фото в формате base64
Профит! Инструкция одинаковая для REST и SOAP. 

Но смысл этого поста, разумеется, не в инструкции. А в том, чтобы сразу ее применить! Попробовать пощупать самостоятельно. Сделать это можно в API бесплатной системы Shop, метод create или update.
Мы будем вызывать метод create. Пока через Postman, проверяя REST API. Для этого нужно:

вторник, 23 июня 2020 г.

Новый курс! Автоматизация в Postman

Привет!

Я запускаю новый тренинг — Автоматизация REST-тестов на уровне Postman.

Идеально для тех, кто тестирует API, но у кого на проекте еще нет автоматизации. Мы пройдем полный цикл — от первого автотеста до настройки CI (Continuous Integration). От Math.random до циклов и условий. От простого include до регулярных выражений.

На курсе 57 обязательных домашних заданий, так что практики у вас будет очень много! При этом курс идет 3,5 месяца, так что не переживайте, всё успеете ))


Познакомиться с моим стилем лекций можно на примере этого отрывка.

Первый запуск будет 9 июля, через пару недель.
На него действует скидка 30%! Промокод first_start

четверг, 16 апреля 2020 г.

Варианты настройки системы CI

Неважно, какую именно систему CI (Continuous Integration) вы используете — Jenkins, TeamCity, или какую-то другую. Для всех них можно использовать варианты настройки:
  • от операционной системы
  • от плагинов


От операционной системы


Мы подготавливаем операционную систему машины, на которой будут гоняться автотесты.

Вот, скажем, в официальной инструкции Postman-а есть статья «Integration with Jenkins». Что нужно сделать, чтобы запустить тесты в Jenkins:
  • Установить Jenkins
  • Установить на ту же машину NodeJS и npm
  • Установить на ту же машину newman
Установили? Теперь очень легко конфигурировать задачи — добавил shell-команду, а внутри нее вызов newman. И всё, ничего лишнего!



вторник, 31 марта 2020 г.

Интеграция Jenkins с private-репозиторием в Bitbucket

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

git 'https://okiseleva@bitbucket.org/testbasecode/test_1.git' 

И готово!

А что, если у нас приватный репозиторий? Что, собственно, и будет на реальной работе, кто ж свои автотесты в общий дотуп то кладет =))

Подключать надо через SSH-ключ. Для этого идем в битбакете в настройки проекта —  General— Access keys. И там будет ссылка на актуальную инструкцию!


Сейчас эта ссылка ведет сюда — https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html

Я настраивала для Linux. Ой, ну ладно, муж настраивал, не суть 
Шаги настройки:

понедельник, 26 ноября 2018 г.

Как отправить массив через form-data в Postman

Рассмотренные в статье примеры вы можете опробовать и сами, так как запросы мы будем отправлять в бесплатное приложение Users.

Простой массив


Он есть в методе CreateUser — и для задач, и для компаний.

В json формате он выглядит так:

{
  "email": "test_cu_32@mail.com",
  "name": "Рест 32",
  "tasks": [39],
  "companies": [15, 20]



Простой массив в json

четверг, 8 ноября 2018 г.

Как отправить через Postman картинку

Чтобы отправить через Postman картинку или любой другой файл, достаточно переключить тип параметра с Text на File.


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



Для передачи картинки в Users есть метод AddAvatar. Как его вызвать:

понедельник, 15 октября 2018 г.

Как отправить REST-запрос в Postman

Если вы никогда раньше не слышали про REST-запросы, то вам сюда ツ

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


Отправить первый запроса с нуля


Отправлять мы будем запрос doRegister

REST отличается от SOAP-а тем, что тут необязательно должен быть контракт (WADL). И если его нет, то без документации вы запрос не отправите. Попробуем с документацией!

1. Запустить Postman — он сразу откроет окно ввода запроса. Слева отображается история выполненных ранее запросов. Исходно она пуста, но скоро заполнится =)