JMeter не может подтвердить код ответа HTTP 423

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

Мой сервер может возвращать 2 кода ответа: 200 и 423. Нет проблем с 200, он просто работает, но я не могу утверждать 423, я не знаю почему.

Я пробовал утверждение ответа со следующими конфигурациями:

Поле для тестирования: Код ответа, Правила сопоставления с шаблоном: содержит

Шаблоны для тестирования: 200 - работает 423 - не работает 200 | 423 - 200 работает, 423 не работает (wtf?)

Я также пробовал BeanShell Assertion с

Failure = !(ResponseCode.contains("200") || ResponseCode.contains("423"));

Тоже не работает. Также я пытался сопоставить ответное сообщение, содержащее «Заблокировано» - не работает. Ответ сервера выглядит так:

Thread Name: 10 Users, 100 Repeats 1-10
Sample Start: 2017-05-19 13:06:09 MESZ
Load time: 33
Connect Time: 2
Latency: 33
Size in bytes: 333
Sent bytes:768
Headers size in bytes: 333
Body size in bytes: 0
Sample Count: 1
Error Count: 1
Data type ("text"|"bin"|""): 
Response code: 423
Response message: Locked

Response headers:
HTTP/1.1 423 Locked
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
X-Application-Context: application:capacitytest
Content-Length: 0
Date: Fri, 19 May 2017 11:06:08 GMT
Server: Not_available


HTTPSampleResult fields:
ContentType: 
DataEncoding: null

Код ответа помечен синим цветом по какой-либо причине в Результате сэмплера. Не знаю почему. Я также регистрирую код ответа через Beanshell PostProcessor. Это 423 ...

Наконец-то я прошу вас о помощи. Понятия не имею, в чем проблема или может быть. Заранее спасибо.


person KnechtRootrecht    schedule 19.05.2017    source источник


Ответы (1)


Если вы говорите о сэмплере HTTP-запроса, JMeter автоматически угрожает Коды состояния HTTP выше 400 (включительно) как неуспешные. Я бы порекомендовал следующую настройку:

  1. Добавьте Response Assertion в качестве дочернего элемента вашего HTTP-запроса.
  2. Настройте его следующим образом:

    • Apply to: according to your test scenario
    • Fields to test:
      • Response Code
      • Не забудьте установить флажок Ignore Status
    • Правила сопоставления с шаблоном: Matches
    • Шаблоны для тестирования: 200|423

Предполагая вышеупомянутую конфигурацию, если статус вашего запроса будет 200 ИЛИ 423 - он пройдет, иначе он будет неудачным из-за утверждения.

Утверждение ответа JMeter

См. Как использовать утверждения JMeter в три простых шага руководство для получения исчерпывающей информации относительно утверждений JMeter.

person Dmitri T    schedule 19.05.2017
comment
Большое спасибо! То, что я пропустил, было моей проблемой. - person KnechtRootrecht; 19.05.2017