Как прочитать значения Dynami c, переданные из Jmeter из текстового файла в java? - PullRequest
0 голосов
/ 17 января 2020

Я выполняю нагрузочное тестирование своих API с помощью Jmeter. Я делаю Http-запрос, и ответ на этот Http-запрос передается как часть тела запроса на мой 2-й Http-запрос. Там я передаю значения Dynami c из текстового файла следующим образом: - Obj.txt

"Details": {
    "Start": "2019-08-28T11:39:57.153",
    "Expiry": "2020-08-28T11:39:57.153",
    "Accounts": [
      {
        "accType": "SAVINGS",
        "ReferenceNumber": "${RefNumber}",
        "AccNumber": "${AccNumber}"
      }
    ]
}

Этот объект json читается в моей программе java. Я вычисляю сигнатуру для этого json объекта следующим образом: -

  public static String signConsent() throws Exception{

        String objDetail = loadDetailsObject();

        String keysJson = "Random String";

        JsonWebKeySet jsonWebKeySet = new JsonWebKeySet(keysJson);

        String signature = sign(objDetail, jsonWebKeySet);

        return signature;
    }

Как мне прочитать значения Dynami c из текстового файла. Я загружаю текстовый файл, используя функцию loadDetailsObject следующим образом: -

public static String loadDetailsObject()  {
        String details = "";
        try {
            consentDetails =  FileUtils.readFileToString(new File("Obj.txt"), Charset.defaultCharset());
        } catch (IOException e) {
            log.error("Erorr\n", e);
        }
        return details;
    }

RefNumber и AccNumber будут меняться каждый раз, и соответственно будет меняться подпись. Как мне прочитать эти значения Dynami c в java из файла .txt?

1 Ответ

0 голосов
/ 20 января 2020

Ваша "java программа" ничего не знает о переменных JMeter , я бы порекомендовал перенести код вашей подписи в JSR223 PreProcessor , например:

  1. В «данных тела» сэмплера HTTP Request используйте комбинацию функций __eval () и __FileToString () , чтобы прочитать файл и одновременно оценить все вложенные переменные:

    ${__eval(${__FileToString(Obj.txt,,)})}
    

    enter image description here

  2. В препроцессоре JSR223 используйте следующий код:

    String objDetail = sampler.getArguments().getArgument(0).getValue()
    

    enter image description here

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