Подсчет количества кодов ответа в JMeter 4.0

Я провожу несколько нагрузочных тестов (все конечные точки), и у нас есть известная проблема в нашем коде: если несколько запросов POST отправляются одновременно, мы получаем повторяющуюся ошибку на основе поля отметки времени в нашей базе данных.

Все, что я хочу сделать, это подсчитать таймауты (на основе полученного сообщения «Служба недоступна. Тайм-аут запроса») в переменной и принять это как нормальное поведение (не проваливать тесты).

На данный момент я добавил для этого утверждение ответа (для того, чтобы тесты продолжались), но я не могу сказать, действительно ли происходит тайм-аут и сколько времени это действительно происходит.

Как я могу это посчитать? Спасибо

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
0
0
1 079
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Если вам просто нужно узнать счетчик на основе ответного сообщения, вы можете сохранить результаты производительности в файле CSV с помощью простого средства записи данных (настроить только для CSV), а затем отфильтровать CSV на основе ответного сообщения, чтобы получить необходимое количество. Или вы можете использовать параметр «Отображать только ошибки», чтобы получить все ошибки, а затем отфильтровать их на основе ожидаемого сообщения об ошибке.

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

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

Спасибо,

Мы пытаемся улучшить код, чтобы получить как можно меньше «тайм-аутов». Мне просто нужно их отслеживать. Я выберу второй случай. Спасибо

bogdanov 03.04.2018 09:34
Ответ принят как подходящий

Я бы рекомендовал сделать это следующим образом:

  1. Добавьте JSR223 Слушатель в свой план тестирования
  2. Поместите следующий код в область «Сценарий»:

    if (prev.getResponseDataAsString().contains('Service is not available. Request timeout')) {
        prev.setSampleLabel('False negative')
    }
    

Вот и все, если сэмплер будет содержать в теле ответа Service is not available. Request timeout - JMeter изменит свое название на False negative.

JMeter Conditionally Amend Sampler name

Вы даже можете пометить его как пройденное, добавив строку prev.setSuccessful(false) в свой скрипт. См. Статью Apache Groovy - зачем и как его использовать для получения дополнительной информации о том, что еще можно делать с Groovy в тестах JMeter.

Другие вопросы по теме