JMeter RestAPI - Как отправить тело json в виде запроса вместе с файлом изображения (jpeg / jpg) в JMeter

Я пытаюсь отправить тело json в JMeter (данные тела) для моего RestAPI - PUT вместе с файлом вложения (jpeg / jpg). Каждый раз я получаю ответ как "{" error ":" Неверное количество вложений. "}".

У меня есть файл jpeg / jpg, который нужно отправить в папку Jmeter / bin. Вкладка Body Data в JMeter-

   {
     "message": {

    "attachments": [
        {
            "name": "googleImage.jpg",
            "mimeType": "image/jpg"
        }
    ],
    "messageBody": "Hello World! - Test Attachments",
    "subjectLine": "Test message - 0927T09:58",
    "messageID": "",
    "toAddress": "some reqd value"
   }
  }

Заголовок имеет- Content-Type- application / json Accept- application / json, image / jpeg Также пробовал с- Accept-multipart / form-data Accept-multipart / mixed


person Cekon    schedule 01.10.2018    source источник
comment
какую версию jmeter вы используете?   -  person UBIK LOAD PACK    schedule 01.10.2018
comment
Я использую JMeter 4.0   -  person Cekon    schedule 01.10.2018
comment
попробуйте с jmeter 5.0, покажите запрос, отправленный из Firefox или Chrome.   -  person UBIK LOAD PACK    schedule 01.10.2018
comment
Я пытаюсь использовать RestAPI. У меня есть тело json в данных Body (как указано выше, это то же тело json), а вложение googleImage.jpg находится в папке jmeter / bin. Он отлично работает, когда я пытаюсь использовать SOAPUI pro, но JMeter - нет. Любые попытки передать тело json с вложениями (изображением) для Rest API будут большим подспорьем.   -  person Cekon    schedule 02.10.2018


Ответы (1)


Если ваш запрос работает в SoapUI, вы сможете преобразовать его в JMeter как минимум двумя способами:

  1. Запишите свой тест SoapUI с помощью HTTP (S) Test Script Recorder от JMeter

    • Start JMeter's HTTP(S) Test Script Recorder (the easiest way is using Recording Template feature available from File -> Templates -> Recording menu)
    • Настройте SoapUI для использования JMeter в качестве прокси, это можно сделать в Файл -> Настройки -> Прокси

      Прокси-сервер SoapUI для JMeter

    • Запустите запрос в SoapUI (если запрос предполагает загрузку файла, обязательно скопируйте файл в папку «bin» вашей установки JMeter.
    • JMeter должен захватить запрос в Контроллере записи
  2. Можно преобразовать XML SoapUI в Taurus YAML, а затем при необходимости сгенерировать JMX из YAML.


Также можно создать запрос, вручную определяя JSON и составные полезные нагрузки в одном запросе, однако вам нужно будет либо знать спецификацию запроса из документации API, либо захватить запрос, просмотрев вкладку SoapUI Raw или используя внешний инструмент сниффера, например Wireshark или Скрипач. Ознакомьтесь с Тестированием загрузки файлов REST API в JMeter статья для получения дополнительной информации и примера реализации сценария

person Dmitri T    schedule 02.10.2018