String random = String.format("%05d", ${__Random(0,100000,)}); String request_id = ${__time(,)} + random; log.info(request_id) ${__setProperty(newrequest_id,${request_id},)}报错
时间: 2024-02-21 12:00:19 浏览: 154
PHP实现的生成唯一RequestID类完整示例
这段代码有一些问题,其中 `${__time(,)}` 是 JMeter 中的函数,它返回当前时间的毫秒数。但是 `${__Random(0,100000,)}` 函数的语法不正确,应该是 `${__Random(0,100000)}`,它返回一个指定范围内的随机整数。
此外,在 JMeter 中,`${}` 表示一个变量,但是在 Java 代码中,需要使用类似于 `${request_id}` 这样的表达式来引用变量。因此,你需要将 `${request_id}` 替换为 `request_id`。
最后,`${__setProperty(newrequest_id,${request_id},)}` 函数的语法也不正确。正确的语法是 `${__setProperty(newrequest_id,${request_id})}`,它会将 `${request_id}` 的值保存到一个名为 `newrequest_id` 的 JMeter 属性中。
综上所述,你需要修改代码如下:
```
String random = String.format("%05d", ${__Random(0,100000)});
String request_id = System.currentTimeMillis() + random;
log.info(request_id);
vars.put("request_id", request_id);
props.put("newrequest_id", request_id);
```
这段代码首先使用 `System.currentTimeMillis()` 函数获取当前时间的毫秒数,然后将其转换为字符串并与随机数拼接,得到一个唯一的请求 ID。接着,将请求 ID 存储到 JMeter 变量 `request_id` 和属性 `newrequest_id` 中。
阅读全文