Удаление Id пользователей из базы работая в Postman

soap
postman
Теги: #<Tag:0x00007fedbc5e8b50> #<Tag:0x00007fedbc5e8970>

(Oleg Polischuk) #1

В обшем при создании и проверки пользователя в разделе POST возникла крайне важная необходимость удалить его(т.е. id пользователя) после проверки(как в коде это осуществить во вкладке test-- я не знаю ) !
Обычно я копирую из свагера урл, затем вставляю его в постман, осуществляю проверки, затем в ручную в свагере перехожу в delete и там в ручную его удаляю вводя id (очень тяжело я устал .)
Как это можно реализовать в Postman ? пожалуйста помогите !


(Dmitri Komarist) #2

Для того чтобы удалять какой либо id из URI запроса этот id должен быть задан переменой

  1. Пример: http://v1/restful/user/{{userId}} (надо заключать в такие ldjqyst скобки {{}})
  2. Для инициализации переменой до выполнения запроса в вкладке (Pre-request-script) нужно использовать следующие выражение postman.setGlobalVariable(“userId”, “userIdValue”); userIdValue - в это поле нужно подставлять зачение id
  3. Для удаления значения из переменой после выполнения запроса в вкладке (Tests) нужно использовать выражение postman.clearGlobalVariable(“userId”);

(Dmitri Komarist) #3

Если же Вам просто нужно удалять id Вашего пользователя из базы данных, Вы можете выполнить DELETE запрос из POSTMAN просто выберите необходимый метод из выпадающего списка
http://joxi.ru/MAjbw1ncvkGVxA


(Oleg Polischuk) #4

а можете более подробно описать как создать переменную !
У вас урл выглядит таким образом http://v1/restful/user/{{userId1}} - где {{userId1}} —это что и от куда взялось


(Dmitri Komarist) #5

Можете еще раз более подробно обьяснить что Вам нужно сделать?
По шагам:

  1. Запрос POST которым вы создаете пользователя в БД и получаете его id
  2. Запрос GET с id из POST запроса который Вам возвращает данные по пользователю из БД (для проверки)
  3. Запрос DELETE с id из POST которым вы хотите удалять пользователя из БД

Я правильно представляю себе последовательность Ваших действий?


(Oleg Polischuk) #6

Простите Дмитрий за долгую обратную связь!
Итак. мне необходимо создать пользователя в POST и сразу же вытащить его id (он присваивается в базе автоматически и последовательно. Например прошлому пользователю был присвоен 145; значит этому будет присвоен 146) и затем его же удалить из базы !

В ручную это 2 запроса Post на создание, Delete на удпаление —повторюсь, мне же нужно узнать как осуществить это в одном запросе (скриптами это понятно но я не понял как из респонса хедеров вытащить id созданного пользователя и как записать его на удаление в этом же запросе.

Сейчас же я умею проверять просто ключ и значения (только тела ответа).

И 2 вопрос! В POST надо создать пользователя и использовать его данные в PUT запросе ( можете
Заранее Спасибо!


(Dmitri Komarist) #7

Первый запрос:
POST http://v1/restful/user/ (пример)

body:
{
firstName:“Dmytro”,
secondName: “Komaryst”
}

Response: (пример)
{
Data:
{
id: 123,
message:“Created”
}
}

в окошке Test пишете такой код:

//это нужно чтобы перевести ответ из строки в объект
var responseJSON;
try {
responseJSON = JSON.parse(responseBody);
}
catch (e) {}

//это проверит что сервер дал положительный ответ (может быть 200)
tests[“Response code is 201”] = responseCode.code === 201;

//это проверит что в в теле ответа есть параметр “id”
tests[“Body has required parameters”] = responseJSON.hasOwnProperty(‘id’);

//это запишет id из ответа в глобальную переменную (у Вас может быть другой путь к свойству объекта, не Data.id а например просто id)
if (responseJSON.Data.id) {
pm.globals.set(“id”, responseJSON.Data.id);
}

Второй запрос:

DELETE http://v1/restful/user/{{id}}

{{id}} - в эту переменную автоматически подставится из прошлого запроса


(Dmitri Komarist) #8

Если дадите пути и тело ответа для POST метода, могу написать Вам тестовый скрипт в Postman и сбросить на Вашу почту