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