Jmeter之 forEach 遍历所有值

摘要:
Startindexforloop:从X-1号的变量开始,X为第几个变量;如填0,实际从第一个开始。Endindexforloop:到X+1的变量结束,X为第几个变量;如填4,实际第4个不会被使用,只会到第3个。

今天遇到一个场景,通过正则表达式提取多个值,然后保存到文件中去

正则表达式
image

1、一开始的思路是通过后置 Beanshell断言进行,得到文件数据为 null
FileWriter fstream=new FileWriter ("D://test.csv",true);
BufferedWriter out=new BufferedWriter(fstream);
out.write(vars.get("type")+"\n");
out.close();
fstream.close();
2、修改 beanshell 代码
FileWriter fstream=new FileWriter ("D://test.csv",true);
BufferedWriter out=new BufferedWriter(fstream);

for(int num=1; num<=5; num++){
  //拼接变量名称
  type = "type"+"_"+num;
  System.out.println(type);

  //把拼接的名称赋值给 type_num
  vars.put("type",type);
  System.out.println(vars.get(type));

  //vars.get()获取到变量名称,并和上面返回的 type_num_(2,3,4,5,6)名称一致,取到变量的值
  out.write(vars.get(mipAccount)+"\n");
}

out.close();
fstream.close();

功能能实现,但是这个需要提前知道循环了多少次得到的数据才正确,不灵活

3、通过 forEach 控制器进行

image

  • forEach控制器设置
    名称:字面意思,ForEach Controller的名称
    注释:字面意思
    输入变量前缀:变量的前缀;如要使用的变量为name_1,则需要填name。
    Start index for loop(exclusive):从X-1号的变量开始,X为第几个变量;如填0,实际从第一个开始。
    End index for loop(inclusive):到X+1的变量结束,X为第几个变量;如填4,实际第4个不会被使用,只会到第3个。
    输出变量名称:将要用来使用的变量名,不填则循环所有值
    Add“_”before number?:用户定义的变量有没有下划线分隔编号,最好还是勾上比较方便标识;

image

  • 在forEach 下添加 Beanshell Sampler ,写上代码
FileWriter fstream=new FileWriter ("D://test.csv",true);
BufferedWriter out=new BufferedWriter(fstream);
out.write(vars.get("newType")+"\n");
out.close();
fstream.close();

执行jmeter脚本,检查保存的文件数据,数据正确
image

免责声明:文章转载自《Jmeter之 forEach 遍历所有值》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【刷题】洛谷 P4234 最小差值生成树jvm之方法内联优化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux shell 学习笔记--变量声明与赋值,循环

Bash 变量是不分类型的 ------------------------ 不像其他程序语言一样,Bash 并不对变量区分"类型".本质上,Bash 变量都是字符串. 但是依赖于上下文,Bash 也允许比较操作和算术操作.决定这些的关键因素就是,变量中的值 是否只有数字. 赋值 a=123 a="sdsd" #注意=左右不要有空格,否则就变成比较字...

Shell脚本1

1Shell编程 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业界所说的 shell 通常都是指 shell 脚本,(java文本文件)2 Shell环境 Shell...

plsql学习笔记1

declare/*申明区 声明变量 定义类型*/ beginplsql的程序结构 /*执行区 执行sql语句或者plsql语句*/ exception/*异常处理区*/ end; set severoutput on 将输出结果显示在屏幕上 ---------------------------------------- 变量的数据类型标准类型:numbe...

JMeter处理Cookie与Session

cookie 和session 的区别: 1、cookie数据存放在客户的浏览器上,session数据放在服务器上。 2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗   考虑到安全应当使用session。 3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能   考虑到减轻服务器性能...

awk、变量、运算符、if多分支

awk、变量、运算符、if多分支 awk: 语法 awk [options] 'commands' files option -F 定义字段分隔符,默认的分隔符是连续的空格或制表符 使用option中的-F参数定义间隔符号 用$1,$2,$3等的顺序表示files中每行以间隔符号分隔的各列不同域 NF变量表示当前记录的字段数 -v 定义变量并赋值 也可以借...

shell脚本之三:shell变量知识进阶与实践

三、SHELL变量知识进阶与实践 (一)shell特殊位置变量 1.获取脚本的名字($0) $0:获取脚本的名字,如果脚本前跟着路径的话,那就获取路径加上脚本名字。 企业应用:一般在脚本最后,使用$0获取脚本的路径和名字给用户。 2、获取脚本的第n个参数($n) $n:获取脚本后的第n个参数,n大于9以后,数字需要用大括号括起来。 企业应用:脚本中,提取...