如何在JMeter中批量保存多请求Token至文件并随机调用
在JMeter中批量获取Token并随机调用的实现方案
完全可行,具体操作步骤如下:
- 设置循环执行:给获取Token的GET请求套一个「循环控制器」,把循环次数设为50,让请求自动重复执行50次。
- 提取每次的Token:在GET请求下添加「正则表达式提取器」或「JSON提取器」(根据接口返回的数据格式选择),将每次返回的Token提取到变量中。比如用
token_${__counter(TRUE,)}作为变量名,循环时会生成token_1、token_2……token_50这类带序号的变量。 - 存储Token到数组或文件:
- 存到JMeter全局数组:在提取器后加一个「JSR223元件」,用Groovy代码把Token收集到全局列表里,示例代码:
def tokenList = props.get("tokenList") ?: new ArrayList() tokenList.add(vars.get("token")) // 这里的"token"是提取器中设置的变量名 props.put("tokenList", tokenList) - 存到本地文件:同样用「JSR223元件」,写代码把每次的Token追加到文件中,示例:
new File("D:/tokens.txt").append(vars.get("token") + System.lineSeparator())
- 存到JMeter全局数组:在提取器后加一个「JSR223元件」,用Groovy代码把Token收集到全局列表里,示例代码:
- 后续随机调用Token:
- 如果用全局数组:在需要用Token的请求参数里,用Groovy函数随机取列表中的元素,写法:
${__groovy(props.get("tokenList").get(new Random().nextInt(props.get("tokenList").size())),)} - 如果用本地文件:添加「CSV Data Set Config」,指定文件路径为保存的tokens.txt,勾选「允许随机顺序」,后续请求就能随机读取一行Token使用。
- 如果用全局数组:在需要用Token的请求参数里,用Groovy函数随机取列表中的元素,写法:
内容的提问来源于stack exchange,提问作者Hasan Humbatov
相关产品推荐
相关产品推荐

