Как анализировать и сообщать об ответах HTTP в JMeter

#java #testing #jmeter

#java #тестирование #jmeter

Вопрос:

У меня есть CSV-файл значений, который необходимо запустить с конечной точкой REST с помощью JMeter. У меня проект настроен примерно так:

  • Группа потоков
    • HTTP-запрос
      • Конфигурация набора данных CSV
      • Постпроцессор JSR223
      • XPath Extractor

Я использую XPath Extractor для поиска определенного пути в HTTP-ответе. Затем я использую постпроцессор JSR233 для оценки этого пути вывода и устанавливаю переменную с vars.set , чтобы отслеживать, какие значения я получаю.

Это кажется действительно хакерским способом написать что-то подобное. Что мне нужно, так это отслеживать количество результатов, которые были «хорошими» по сравнению с «плохими», и конечная точка, к сожалению, не использует коды ошибок HTTP (не мой выбор), чтобы указать, когда что-то не удалось (например, 404, когда ничего не возвращается. Есть предложения?

Ответ №1:

Я бы предложил использовать утверждение JSR223, которое дополнительно позволит вам условно устанавливать критерии прохождения / сбоя, такие как:

 if (1 != 2) {
    prev.setSuccessful(false);
    prev.setResponseCode("404");
}
  

prev является экземпляром родительского SampleResult, смотрите JavaDoc для всех доступных методов и полей. JMeter предоставляет еще несколько утверждений, возможно, вам даже не придется использовать эти элементы JSR223

Что касается отслеживания «хороших» и «плохих», то по завершении теста вы можете использовать, например, прослушиватель сводного отчета или даже создать панель управления отчетами HTML, которая будет содержать сводную информацию и несколько хороших диаграмм.