Перейти к содержимому

ckrokis

Регистрация: 07 апр 2018
Offline Активность: 04 ноя 2022 19:31
-----

Мои темы

Jmeter. Как можно прикрепить файлы .jpg к HTTP Request в методе PATCH?

07 июня 2018 - 16:28

Есть такой кейс:

1 запрос - POST. (отправляет на сервер данные, получает с сервера в ответе id, делает из этого id переменную)

2 запрос - PATCH. (отправляет на сервер .jpg файлы, использует переменную, полученную из 1-го запроса)

3 запрос - GET. (использует переменную, полученную из 1-го запроса)

4 запрос - PATCH. (использует переменную, полученную из 1-го запроса)

5 запрос - PATCH. (использует переменную, полученную из 1-го запроса)

 

Никак не могу понять, может подскажет кто...

 

По архитектуре приложения надо отправлять во 2-ом запросе файлы методом PATCH.

 

Через POSTMAN спокойно отправляются файлы этим методом PATCH (попадают на сервер, обрабатываются и сохраняются в файловом хранилище).

 

Через JMeter же дело падает с ошибкой 500 Internal Server Error...

 

Через JMeter могу отправлять эти же файлы только методом POST (в другом месте системы, не в приведённом выше кейсе) с галочкой "Use multipart/form-data for POST".

 

Очень интересно как можно было бы отправить файлы методом PATCH через JMeter, при условии что в нём должна быть переменная из предыдущего запроса.

 

Возможно, надо писать переменную не в строке с URL, а как и при отправке методом POST в JSON'e, но вкладка "Body Data" не открывается, если добавлены файлы на вкладке "Files Upload", а добавленные в поля "Name" и "Value" на вкладке "Parameters" название и значение переменной - не работают...

Может есть плагин для прикрепления файлов к запросу или плагин для прикрепления JSON тогда?

Или вообще у кого был опыт через JMeter отправлять файлы .jpg методом PATCH - поделитесь пожалуйста!


Jmeter. Вопрос по созданию нагрузки с равными интервалами между запрос

21 мая 2018 - 20:27

Возник интересный вопрос по функциональности jmeter, а именно по такому вот кейсу:
 
Есть 4 последовательных запроса:
1) В первом происходит создание записи на сервере (метод POST)
2) Во втором получение данных по этой записи (метод GET)
3) В третьем и четвёртом делается апдейт записи (метод PATCH).
 
Второй запрос выполняется сразу после успешного выполнения первого, перед третьим запросом задержка +1 секунду, перед четвёртым запросом задержка +2 секунды. Но... первый запрос должен выполнятся раз в секунду и одновременно 160 "пользователями" (бизнес-требование такое - проверяем как будет вести себя система, если например в сети "просадка" не зависящая от нас возникнет и потом вдруг посыпятся запросы правильные, не ддос, или во внешних системах будет сбой и произойдёт такой сценарий - заранее отвечаю на вопрос зачем это надо, а то по), а ответ на него может идти до 10-15 секунд при нагрузке - можно ли с помощью инструмента Jmeter как то этого добиться?
 
Возможно, с помощью какого-нибудь контроллера/плагина можно 2, 3 и 4 запросы вынести и сделать так, что бы первый запрос не ждал завершения 2-го, 3-го и 4-го, а продолжал отправлять следующие запросы и при этом 2, 3 и 4 запросы просто позже, но при этом со всеми полученными в 1-ом запросе id'шниками (в режиме реального времени, а не так, что бы закончить первые запросы, взять готовый файл с ID'шниками и начать делать 2, 3 и 4 запросы)?
 
Пробовал много разных вариантов, неделю искал решение, но пока только отдалённое приближение сделать смог... Кто нибудь может подсказать решение?
 
P.S.: Частичное решение нашёл - https://jmeter-plugi...dCommunication/ просто перекинуть в другую Thread Group переменную и в ней выполнять 2, 3 и 4 запросы :-) правда когда заканчивает выполнятся цикл с первым запросом, то другая группа с 2, 3 и 4 запросами зависает или падает с ошибками, т.е. не все обрабатываются, похоже не хранятся данные для запросов, а берутся в режиме реального времени, без прихранивания id'шников, и значительная часть созданных на сервере записей первым запросом остаётся без обработки 2, 3 и 4 запросом...
 
Вот эта статья интересная, но немного не о том... http://software-test...acija-nagruzki/