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





Если вам просто нужно узнать счетчик на основе ответного сообщения, вы можете сохранить результаты производительности в файле CSV с помощью простого средства записи данных (настроить только для CSV), а затем отфильтровать CSV на основе ответного сообщения, чтобы получить необходимое количество. Или вы можете использовать параметр «Отображать только ошибки», чтобы получить все ошибки, а затем отфильтровать их на основе ожидаемого сообщения об ошибке.
Если вам нужно выяснить это во время выполнения, вы можете использовать прослушиватель сводных отчетов и использовать флажок «Ошибки», чтобы получить количество сбоев, но это также будет включать и другие сбои.
Но если вам нужно получить счет во время выполнения, чтобы использовать его позже, это другой случай. Я предполагаю, что это не так.
Спасибо,
Я бы рекомендовал сделать это следующим образом:
Поместите следующий код в область «Сценарий»:
if (prev.getResponseDataAsString().contains('Service is not available. Request timeout')) {
prev.setSampleLabel('False negative')
}
Вот и все, если сэмплер будет содержать в теле ответа Service is not available. Request timeout - JMeter изменит свое название на False negative.
Вы даже можете пометить его как пройденное, добавив строку prev.setSuccessful(false) в свой скрипт. См. Статью Apache Groovy - зачем и как его использовать для получения дополнительной информации о том, что еще можно делать с Groovy в тестах JMeter.
Мы пытаемся улучшить код, чтобы получить как можно меньше «тайм-аутов». Мне просто нужно их отслеживать. Я выберу второй случай. Спасибо