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

Регистрирую в приложении нового пользователя. Ему присваивается id. В ходе тестирования создания пользователя мне надо проверить его наличие в списке пользователей, то есть хочу сверить присвоенный id с id с id в списке пользователя. Как мне в ходе регистрации получить id пользователя. Я регистрирую пользователя через фронт, а получить данные надо по API?

Я попытался сделать через RestAssured

Но я посылаю заново запрос.

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

id = RestAssured.given()
.baseUri("URL["](http://dev.shipnext.com:7777/api))
.basePath("/v1/auth/sign_in")
.header("Content-Type", "application/json")
.body("{" +
"\"email\": \"user@i.ua\"," +
"\"password\": \" qwe123\"" +
"} ")
.when().post()
.then().extract()
.path("data.id")
.toString();

А при выполнении этого запроса, в респонсе тебе возвращаются данные? Когда ты делаешь вручную запрос.

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

2 лайка

Использовать какой-либо прокси, который записывает всё, пролетевшее через него…

А чем не нравиться вариант из базы взять?

1 лайк

запрос может уйти и на мок… если в скопе задачи только тестирование клиентской части

Стоят алогичные задачи .
Самое простое решение было записать имя пользователя в переменную и передавать в запросы. Причём,фраза -проверить в списке имеет двоякое значение. Список уже есть ? Или проверять надо после отправки пост запроса. Если требований нет к оформлению напиши простой junit тест с двумя запросами. Пост и гет. Имя пользователя-переменная для двух запросов одинаковая. А результат по статус коду последнего запроса. Будь осторожен! Возможно боди респонзов будут пустые и статус код может сбить с толку. разработчики с моей команды считают что такое тоже может быть и упорно доказывают в своих реализациях.