JMeter, как зашифровать все bodydata в HTTP Request Sampler? - PullRequest
0 голосов
/ 07 января 2019

Я использую jmeter 5.0 для тестирования своего веб-приложения. Как зашифровать все данные тела с помощью AES перед публикацией?

Я пытался сделать это с помощью BeanShell PreProcessor, но, похоже, нет способа сбросить данные тела, я нашел способ печати данных тела.

log.info("test");

String bodydata = sampler.getArguments().toString();

log.info(bodydata);

Я уже давно знаю, как реализовать функцию AES, импортировав java calss. Что я ожидаю, так это сбросить данные тела текста в зашифрованный текст.

Ответы [ 2 ]

0 голосов
/ 07 января 2019
  1. Существует Arguments.removeAllArguments () функция, которая очищает тело сэмплера
  2. Вы можете добавить новое тело с помощью функции Arguments.addArgument () . Пример кода:

    sampler.getArguments().removeAllArguments();
    sampler.addNonEncodedArgument("","your_encrypted_data_here","");
    sampler.setPostBodyRaw(true);
    
  3. Начиная с JMeter 3.1 рекомендуется использовать JSR223 Test Elements и язык Groovy для сценариев, в основном из-за того, что Groovy имеет гораздо лучшую производительность по сравнению с Beanshell . Поэтому рассмотрите возможность перехода на JSR223 PreProcessor при следующей доступной возможности, тот же код должен работать нормально.
0 голосов
/ 07 января 2019

Вставьте данные тела просто в переменную JMeter как ${encryptData}

И в препроцессоре установите переменную с вашим зашифрованным значением:

vars.put("encryptData", encryptData)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...