2016-07-29 9 views
-1

Сценарий: 1000 пользователей регистрируются в одно и то же время.JMeter: Как обеспечить условие в постпроцессоре Beanshell только для регистрации успешной/неудачной регистрации

Теперь, если ответное сообщение в «Просмотр результатов в дереве» равно «1», его успешная регистрация, Но если ответное сообщение «3», его сбойный запрос.

Я хотел бы знать, как я могу справиться с этим в процессоре Post Beanshell Post.

ИЛИ

Можно ли иметь CSV с результатом всей регистрации?

ответ

2

что-то вроде:

String response = new String(data); 

if (response.equals("3")) { 
    prev.setSuccessful(false); 
} 

Где:

  • data - это массив Java bytes держит ответ родительского сэмплера
  • prev - это экземпляр SampleResult класса, которые обеспечивают доступ для чтения/записи к методам сэмплера родительскими и поля

Дополнительная информация - How to Use BeanShell: JMeter's Favorite Built-in Component


NB: Это будет намного быстрее и проще идти за Response Assertion вместо Beanshell PostProcessor

0

Когда вы говорите ответ, что вы имеете в виду.

Вы можете сделать это следующим образом:

  • добавить утверждение ответа и использование содержит, заполнить регулярное выражение для того места, где код «1» есть. Во всех остальных случаях вы будете иметь отказ

Другой способ сделать это:

  • использовать регулярное выражение экстрактор для извлечения ответа «код»
  • использовать jsr223 утверждение + заводной и проверить переменную экстрагируют значение
0

Ну, зачем вам нужна бобы? Вы можете извлечь «ответные биты», которые вы хотите проверить, используя регулярное выражение и использовать контроллер if, сравнивая бит ответа с ожидаемыми значениями, используя параметр deafult javascript. В следующем примере я извлекаю слово из предыдущего ответа и принимаю решение, если контроллер enter image description here