如何在JMeter中从数组选取随机元素传入sendKeys方法
实现方案
你使用的是JMeter WebDriver采样器的JS脚本,直接修改原有代码即可实现随机取值,操作如下:
- 直接替换原有代码为下面的版本,核心是通过
Math.random()生成随机数组索引,取出对应房间号传入sendKeys方法:
var randomroom = ["BA783", "AP03A", "BC078", "HAW90"]; // 生成符合数组下标范围的随机整数 var randomIndex = Math.floor(Math.random() * randomroom.length); // 传入随机抽取的房间号 implicitFind(pkg.By.xpath("//input[@type='search']")).sendKeys(randomroom[randomIndex]);
- 如果需要在本次测试的其他请求里复用该次抽到的房间号,可以额外加一行代码把值存入JMeter变量:
// 生成随机房间号后添加该行即可 WDS.vars.put("current_room", randomroom[randomIndex]);
后续其他请求中直接用${current_room}就能调用这次抽到的房间号。
- 验证逻辑是否生效可以在代码中加一行日志输出,执行后在JMeter控制台就能看到每次的随机取值:
console.log("本次抽取的房间号:" + randomroom[randomIndex]);
内容的提问来源于stack exchange,提问作者Aerrop
相关产品推荐
相关产品推荐

