jmeter实现参数化及请求出现中文乱码问题解决

一.jmeter进行参数化

方式1:通过CSV data set config

1.add-config element-CSV data set config
jmeter实现参数化及请求出现中文乱码问题解决_第1张图片
其中,
filename:参数化文件的绝对路径
file encoding:指明编码格式,读取文件时的编码格式;默认为ANSI
Variable Names :变量名称。多个变量名之间必须用分隔符分隔。如果该项为空,则文件首行会被读取并解析为列名列表
Ignore first line:是否忽略首行?如果csv文件中没有表头,则选择false
Delimiter:分隔符。将一行数据分隔成多个变量,默认为逗号,也可以使用“\t”。如果一行数据分隔后的值比Vairable Names中定义的变量少,这些变量将保留以前的值(如果有值的话)
Allow quoted data?:是否允许变量使用双引号?允许的话,变量将可以括在双引号内,并且这些变量名可以包含分隔符
Recycle on EOF?:遇到文件结束符是否再次循环?默认为 true
Stop thread on EOF?:遇到文件结束符是否停止线程?默认为 true
Sharing mode:线程共享模式。1、All threads(默认):一个线程组内,各个线程(用户)唯一顺序取值;2、current thread:一个线程组内,各个线程(用户)各自顺序取值;3、线程组各自独立,但每个线程组内各个线程(用户)唯一顺序取值;

2.设置线程组
1S内发起4个线程(循环一次)
jmeter实现参数化及请求出现中文乱码问题解决_第2张图片

3.请求接口引用CSV生成的变量
jmeter实现参数化及请求出现中文乱码问题解决_第3张图片
4.执行请求,查看结果树
jmeter实现参数化及请求出现中文乱码问题解决_第4张图片
jmeter实现参数化及请求出现中文乱码问题解决_第5张图片
jmeter实现参数化及请求出现中文乱码问题解决_第6张图片
jmeter实现参数化及请求出现中文乱码问题解决_第7张图片
jmeter实现参数化及请求出现中文乱码问题解决_第8张图片

方式2:通过function helper(函数助手)
1.点击函数助手
jmeter实现参数化及请求出现中文乱码问题解决_第9张图片
2.在弹出面板选择CSVread
需要填写两行:
第一行是参数化文件的位置,同方式1
第二行是你需要参数化的列,注意下标从0开始
随后点击generate & copy to clipboard
在左侧会生成参数表达式,并自动复制
jmeter实现参数化及请求出现中文乱码问题解决_第10张图片
3.用这个参数表达式替换请求参数
jmeter实现参数化及请求出现中文乱码问题解决_第11张图片

4.执行HTTP请求,如图所示成功执行但是请求参数中文出现乱码
jmeter实现参数化及请求出现中文乱码问题解决_第12张图片

二.方式2请求出现乱码问题解决

1.参数化文件编码是utf-8,推测应该是jmeter读取是按照别的格式
分别采用了设置接口请求头为utf-8,
修改bin下的配置文件并重启:jmeter.properties,
添加BeanShell Sampler/BeanShell PostProcessor,在Script处填写如下代码:prev.setDataEncoding(“utf-8”);
但是都没有用…
因为方式1的file encoding默认是ANSI,推测函数助手读取默认也是这个编码

2.记事本方式打开CSV文件,选择另存为,编码选择ANSI
jmeter实现参数化及请求出现中文乱码问题解决_第13张图片
替换原文件保存即可

3.重新执行HTTP请求,乱码问题解决
jmeter实现参数化及请求出现中文乱码问题解决_第14张图片

注:
但是这种方式会导致方式1出现乱码,因为方式1中我们设置的是通过utf-8格式去读取

参考文章:
https://zhuanlan.zhihu.com/p/112955910
https://blog.csdn.net/mu_wind/article/details/108225919

你可能感兴趣的:(常用工具,jmeter,参数化,函数助手,编码格式)