3

У меня есть план тестирования JMeter, который выполняет только один HTTP-запрос несколько раз в секунду. В качестве параметра у меня есть определенный тайм-аут для каждого запроса, который выполняется. Для этого я добавил «Duration Assertion» Sampler/Listener/IDK ^^Утверждение о продолжительности JMeter. Код ответа на переопределение

Теперь я запускаю тест, и я всегда получаю код ответа 200, потому что запрос в порядке, но утверждение о продолжительности превышено. Это приводит к тому, что в дереве результатов есть успешные и неудачные запросы, но у всех из них есть код состояния 200. Проблема заключается в том, что в прослушивателе «Ответные коды в секунду» он показывает, что все запросы в порядке и имеют код ответа 200. Но они не в порядке из-за утверждения продолжительности!

Моя проблема: я хотел бы переопределить код состояния тех запросов, которые не удались из-за утверждения продолжительности. Я хочу, чтобы они отображались как другой код ответа (НО ТОЛЬКО, ЕСЛИ ОНИ ПРЕВЫШАЮТ ЗАДЕРЖКУ DURATION) в приемнике «Ответные коды в секунду», потому что я не могу их отличить. Или есть способ, которым я могу заставить их потерпеть неудачу, когда они превысят тайм-аут?

Мне очень жаль мой английский, и я надеюсь, что вы сможете понять мою проблему. Большое спасибо!

ответ

2

Я не в курсе каких-либо элементов тестирования, которые позволяют изменять код ответа, однако вы можете сделать это с помощью сценариев следующим образом:

  1. Добавить Beanshell Assertion как ребенок запроса вы хотите потерпеть неудачу. Beanshell Утверждение должно идти после Продолжительность Assertion

  2. Добавьте следующий код в "Сценарий" области:

    import org.apache.jmeter.assertions.AssertionResult; 
    
    AssertionResult[] results = prev.getAssertionResults(); 
    for (AssertionResult result : results) { 
        if (result.isFailure()) { 
         if (result.getFailureMessage().contains("The operation lasted too long")) { 
          SampleResult.setResponseCode("1000"); 
         } 
        } 
    } 
    

    Beanshell Assertion Change Response Code

Смотрите How to Use JMeter Assertions in Three Easy Steps для получения дополнительной информации об условно проходящей/сбойные пробоотборники JMeter через утверждения.

Смежные вопросы