Тест производительности NuGet с использованием Jmeter - PullRequest
0 голосов
/ 21 мая 2018

Мне нужно создать тест производительности для репозитория Nuget с помощью инструмента Jmeter, и мне нужно развернуть / загрузить файлы .nupkg в репозиторий, однако у меня возникла проблема с загрузкой.Я получаю сообщение об ошибке 415 - Неподдерживаемый тип носителя.Похоже, что-то не так с Content-Type или с передачей multipart / form-data, которая должна использоваться для загрузки.У Jmeter есть такая опция для POST, но у меня есть PUT в моем случае.

Приведенный ниже скручиваемость публикуется правильно

curl -XPUT http://hostname/api/nuget/nuget/ -u login:password -F "package=@/home/nugetFiles/shay-1-test.2.1.0.nupkg"

Я безуспешно попробовал следующее - добавил путь к файлу на вкладке «Загрузка файлов» в сэмплере HTTP-запроса, добавил диспетчер заголовков HTTP как дочерний и попыталсязагрузка нескольких вариантов с разными типами контента через элемент HTTP Header Manager .

  • application / x-nupkg;
  • application / octet-stream;
  • multipart / form-data;border = "6aec860d-8c85-4cea-854e-a051e77873c4";

и значение Content-Disposition

  • Content-Disposition: form-data;имя = пакет;имя файла = package.nupkg;имя файла * = utf-8''package.nupkg

Диспетчер заголовков HTTP также имеет X-NuGet-ApiKey значение

Я также обнаружил, что файлдолжен быть добавлен в тело запроса, однако я не знаю, как это сделать.

Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Основная причина заключается в следующем - я использую Jmeter 3.3, последняя выпущенная версия - 4.0.Согласно эта ошибка multipart / form-data, которая необходима клиенту NuGet, не работает в Jmeter для метода PUT.

Я проверил стабильную версию транка Jmeter (apache-jmeter-r1831500.zip), взятую из здесь и смог развернуть пакет Nuget.

В качестве обходного пути можно создать тест с помощью OS Process Sampler с помощью команд bash.

Спасибо всем за помощь.

0 голосов
/ 21 мая 2018

Просто запишите ваш запрос на загрузку.

  1. Скопируйте shay-1-test.2.1.0.nupkg в папку "bin" вашей установки JMeter
  2. Настройте JMeter для записи.Самый простой способ - использовать функцию Шаблоны JMeter

    • . В главном меню JMeter выберите File -> Templates -> Recording и нажмите «Создать»
  3. Открыть HTTP (S) Test Script Recorder и нажмите «Пуск»
  4. Выполните ваш CURL запрос через прокси JMeter как:

    curl -x http://localhost:8888 -XPUT http://hostname/api/nuget/nuget/ -u login:password -F "package=@/home/nugetFiles/shay-1-test.2.1.0.nupkg"
    
  5. Так и должно быть, записанный запрос будет жить под Thread Group -> Recording Controller.
...