【问题标题】:how to read dynamic values passed from jmeter from a text file in java?如何从java中的文本文件中读取从jmeter传递的动态值?
【发布时间】:2020-05-04 01:00:15
【问题描述】:

我正在使用 Jmeter 对我的 API 执行负载测试。我正在发出一个 Http 请求,该 Http 请求的响应作为请求正文的一部分传递给我的第二个 Http 请求。在那里,我从文本文件中传递动态值,如下所示:- 对象.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;
    }

如何从文本文件中读取动态值。我正在使用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;
    }

RefNumberAccNumber 每次都会改变,签名也会随之改变。如何从 .t​​xt 文件中读取 java 中的这些动态值?

【问题讨论】:

  • “如何从文本文件中读取动态值。” - 你问的是如何读取 JSON 文件吗?非 JSON 文本文件?您的问题不清楚。
  • @StephenC 我已经更新了这个问题。请立即检查。
  • 您需要决定使用哪种格式。您没有同时使用两者。
  • @StephenC 请立即查看。
  • 文本文件的格式是什么?除非您知道文件格式是什么,否则您无法从文件中读取信息。向我们展示您打算阅读的文本文件的示例。

标签: java spring-boot http jmeter


【解决方案1】:

你的“java程序”对JMeter Variables一无所知,我建议将你的签名代码移到JSR223 PreProcessor中,例如:

  1. 在 HTTP 请求采样器的“正文数据”中,使用 __eval() and __FileToString() functions combination 读取文件并同时评估所有嵌套变量:

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

  2. 在 JSR223 PreProcessor 中使用以下代码:

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

【讨论】:

    猜你喜欢
    • 2023-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 2017-04-03
    相关资源
    最近更新 更多