jmeter正则表达式+ForEach 控制器,遍历请求接口
场景:
批量删除目录名称为lynauto-dir开头的所有目录
实现方式:
查询目录信息,使用正则表达式提取lynauto-dir开头的目录名,然后使用ForEach Controller遍历变量数组,进行循环删除。
实现步骤:
1.查询目录接口请求,解析响应并提取name信息:
2.查询目录接口添加正则提取器,右键单击“线程组”>“添加”>“后置处理器”>“正则表达式提取器”
提取lynauto-dir开头的目录名:
正则表达式提取器说明:
Apply to:应用范围
要检查的响应字段:样本数据源
引用名称:其他地方引用时的变量名称,我这里写的dir,可自定义设置,引用方法:${引用名称}
正则表达式:数据提取器,()括号里为你要获取的的值。"name":"( 相当于LR左边界, )","相当于LR右边界。而括号里是正则表达式,用来匹配所需要获取的数据
模板:$$对应正则表达式提取器类型。-1全部,0 随机,1第一个2第二个,以此类推,若只有一个正则一般就填写$1$
匹配数字:正则表达式匹配数据的所有结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。-1表示全部,0随机,1第一个,2第二个,以此类推。若只要获取到匹配的第一个值,则填写1
缺省值:匹配失败时的默认值。可以不写。若需用于后续逻辑判断,可简单写为 ERROR
3.添加调试取样器,右键单击“线程组”>“添加”>“取样器”>“调试取样器”
查看正则提取到的参数:
4.添加ForEach控制器,右键单击“线程组”>“添加”>“逻辑控制器”>“ForEach控制器”
ForEach控制器说明:
输入变量前缀:输入正则表达式变量的引用名称
开始循环字段:默认为0
结束循环字段:最大索引值
输出变量名称:存储每次遍历获取值,供其它地方引用
默认勾选数字之前加上下划线"_"
5.在ForEach控制器里添加删除目录请求,可遍历请求接口删除
查看结果: