gpt4 book ai didi

json - Jmeter动态生成请求的json负载

转载 作者:行者123 更新时间:2023-12-04 17:00:01 28 4
gpt4 key购买 nike

我有一个 Jmeter 测试计划,我希望我的 HttpSampler 发送一个 post 请求。

请求的正文应包含 Json,如下所示:

{
"productIds" : [
"p1",
"p2",
...
]
}

我已经设置了一个随机变量生成器,每次调用都会返回格式良好的 productId。我想要做的是通过直接在请求正文中填充从生成器获取的随机 pid 的 productIds 来生成有效负载。类似于(假设 *** 是脚本转义):
{
"productIds" : [
***
for i in (1, $productsCount) {
write("\"$randomPid\"\n")
}
***
]
}

是否可以?如果是,如何?如果没有,您将如何处理这个问题?

谢谢!

最佳答案

  • 添加 Beanshell PreProcessor作为您要参数化的请求的子级
  • 将以下代码放入预处理器的“脚本”区域:
    StringBuilder result = new StringBuilder();
    String newline = System.getProperty("line.separator");
    int max = Integer.parseInt(Parameters);
    Random random = new Random();

    result.append("{");
    result.append("\"productIds\" : [");
    result.append(newline);
    for (int i = 1; i < max; i++) {
    result.append("\"").append(random.nextInt()).append("\",");
    result.append(newline);
    }
    result.append("]");
    result.append(newline);
    result.append("}");

    vars.put("json", result.toString());
  • 将您的 ${productsCount} 值放入“参数”节
  • 将生成的有效载荷称为 ${json}需要时

  • How to use BeanShell: JMeter's favorite built-in component guide有关 Apache JMeter 中 Beanshell 脚本的更多详细信息。

    关于json - Jmeter动态生成请求的json负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27314957/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com