对于 JMeter 中 WebSocket 的请求路径中需要使用随机的设备号(devicesn),你可以通过以下步骤使用 CSV 文件配置多个随机数:
-
创建一个 CSV 文件,每一行包含一个随机设备号。例如:
00FF264C9636 ABCD12345678 9876543210 ...
生成CSV文件的Java代码如下:
public static void main(String[] args) {
generateRandomNumbers("myoutput.csv", 5000);
}
public static void generateRandomNumbers(String filename, int count) {
try (FileWriter writer = new FileWriter(filename)) {
Random random = new Random();
for (int i = 0; i < count; i++) {
String randomNumber = generateRandomNumber();
writer.write(randomNumber + "\n");
}
System.out.println("Random numbers generated successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
public static String generateRandomNumber() {
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 12; i++) {
int digit = random.nextInt(16);
sb.append(Integer.toHexString(digit));
}
return sb.toString().toUpperCase();
}
-
在 JMeter 的线程组中,添加一个 CSV Data Set Config 元件(如果已经添加过了,则跳过此步骤):右键点击线程组 -> Add -> Config Element -> CSV Data Set Config。
-
配置 CSV Data Set Config 元件的属性如下:
- Filename: 指定包含随机设备号的 CSV 文件的路径。
- Variable Names: 输入一个变量名,用于存储从 CSV 文件中读取的设备号。
- Delimiter: 如果 CSV 文件中的随机设备号使用了特殊的分隔符,可以在此设置。
- 其他属性保持默认值或根据需求进行调整。
-
在 WebSocket Sampler 的请求路径中使用 JMeter 变量
${devicesn}
替代真实的设备号:/wsz?devicesn=${devicesn}&tenantId=1
-
确保在 WebSocket Sampler 之前添加了一个 HTTP Request Defaults 元件,并将
URL Re-writing
选项设为Path extension
. 这样可以在 WebSocket Sampler 中使用使用变量${devicesn}
。 -
运行测试计划,JMeter 将从 CSV 文件中读取随机设备号,并将其替换到 WebSocket 请求的路径中。
通过以上步骤,JMeter 将会在每次发送 WebSocket 请求时,随机选择 CSV 文件中的一个设备号进行替换。这样,你可以模拟多个不同的设备号进行 WebSocket 的压测。请确保 CSV 文件的路径配置正确,并且文件格式和数据与期望的一致。