JMeter: Как обеспечить условие в постпроцессоре Beanshell только для регистрации успешной / неудачной регистрации

Сценарий: 1000 пользователей одновременно.

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

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

ИЛИ ЖЕ

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

3 ответа

Решение

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

String response = new String(data);

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

Куда:

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

Дополнительная информация - Как использовать BeanShell: любимый встроенный компонент JMeter


NB: гораздо быстрее и проще перейти к утверждению ответа, чем к Beanshell PostProcessor

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

Вы можете сделать это так:

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

Еще один способ сделать это:

  • используйте экстрактор регулярных выражений, чтобы извлечь ответный код
  • используйте утверждение jsr223 + groovy и протестируйте извлеченное значение переменной

Ну, а зачем тебе бобовая скорлупа для этого? Вы можете извлечь "биты ответа", которые вы хотите проверить, используя регулярное выражение и использовать контроллер if, сравнив биты ответа с ожидаемыми значениями, используя опцию deafult javascript. В следующем примере я извлекаю слово из предыдущего ответа и принимаю решение, используя контроллер if введите описание изображения здесь

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