Обработка ответа в Jmeter

step1: Jmeter отправить запрос серверу step2: сервер отправит ответ в расшифрованном виде на Jmeter. Теперь вот моя задача. step3: Теперь мне нужно выполнить некоторую логику для расшифровки ответа.

Но не попадая в мою логику обработки ответов.

То, что я пробовал до сих пор. 1. Я извлек ApacheJmeterhttp.jar и поместил логику в класс HttpSamplerProxy внутри метода примера. и сделал банку с указанными изменениями. Все работало нормально. Но я не хочу менять внутренний файл jar.

  1. Я сделал класс и расширил класс AbstractFuntion. Напишите логику внутри переопределенного метода выполнения. И использовал PostProcessor для его выполнения. Это сработало. Но это синхронизированный метод. Требуется время для обработки каждого ответа. Средство Обработка каждого ответа последовательно, а не параллельно. И Requirment обрабатывает ответ параллельно. Так что это не удобно для меня

Пожалуйста, предложите мне правильное решение.


person Deepak    schedule 06.09.2013    source источник


Ответы (2)


Используйте Jsr223 Post Processor + Groovy в качестве языка сценариев и, наконец, убедитесь, что вы используете ключ кеша в конфигурации JSR223 Post Processor.

введите описание изображения здесь

person UBIK LOAD PACK    schedule 06.09.2013
comment
использовал эту ссылку [ссылка] code4reference.com/2013/06/ для создания пользовательской функции и помещения расшифрованной логики в синхронизированный метод выполнения в соответствии с указанным выше URL. - person Deepak; 07.09.2013
comment
Вышеупомянутый пост мне помог. Спасибо за подходящий ответ. Я поместил логику в область сценария JSR223 PostProcessor, она работает нормально. Я новичок в jmeter. Так что дайте мне образец Groovy Script или дайте мне ссылку на Groovy Script. И, не имея возможности понять эту строку, наконец, убедитесь, что вы используете ключ кеша в конфигурации постпроцессора JSR223. - person Deepak; 07.09.2013
comment
'code' (import com.jacob.activeX. *; import com.jacob.com. *; ActiveXComponent comp = new ActiveXComponent (Com.Calculation); String str = prev.getResponseDataAsString (); String decryptData = Dispatch.call (comp , uncompress, str) .toString (); byte [] modifiedResponse = decryptData.getBytes (); prev.setResponseData (modifiedResponse);) - person Deepak; 07.09.2013
comment
В приведенном выше комментарии я должен объявить comp как статическую переменную, но не могу этого сделать. Есть какой-либо способ сделать это? - person Deepak; 07.09.2013
comment
Вы должны принять этот ответ, поскольку он кажется нормальным. Затем задайте еще один вопрос об этой конкретной проблеме. - person UBIK LOAD PACK; 07.09.2013

Код внутри метода выполнения

public synchronized String execute(SampleResult previousResult, Sampler currentSampler)throws InvalidVariableException {
log.info("@ Inside execute");
String decryptData=Dispatch.call(comp, "uncompress", str).toString();
byte[] orignalResponse = previousResult.getResponseData();
byte[] addedData = decryptData.getBytes();
orignalResponse = ArrayUtils.addAll(orignalResponse, addedData);
previousResult.setResponseData(orignalResponse);
return "";
}
person Deepak    schedule 07.09.2013