一.CSV Data Set Config
准备好一个txt文件,写入如下内容,第一行可以不写,写了的话也会作为一组数据被运行:
然后把后缀名改为CSV,这样一个参数化文件就准备好了
然后打开jmeter,在需要使用这个参数化文件的接口下面添加CSV Data Set Config
注意在这边指定的两个参数user
和pass
,在接口下方以${}
包装这两个参数
最后设定一个并发线程数为10
运行这个线程组,可以读取CSV里面的参数在接口里面传递。如果线程数大于CSV文件里面的列数,会在运行到底部再从头开始运行。
这样就通过CSV成功实现在jmeter里面的参数化。
二.Beanshell
1.解决响应乱码
有时会遇到乱码,即使在接口里注明utf-8也不管用(这边主要是解决发送请求中的乱码问题)
那么这时就可以使用Beanshell功能了,BeanShell是一个小型,免费,可嵌入的Java源代码解释器,具有用Java编写的对象脚本语言功能。
BeanShell动态执行标准Java语法,并使用常见的脚本编写方便性扩展它,例如松散类型,命令和方法闭包,如Perl和JavaScript中的那些。
在请求下添加一个BeanShell PostProcessor,post代表后置处理,就是请求发送后对响应做出操作(如果是pre的话是前置,代表发送请求前做出相应的准备工作)
在BeanShell PostProcessor下添加如下一行代码
prev.setDataEncoding("utf-8")
乱码问题解决了
2.log info,将信息写入日志
在options里面勾选Log Viewer
在BeanShell PostProcessor里加一行代码
log.info("code is"+prev.getResponseCode());
再运行这个脚本文件,可以在log里查看接口的响应code
再添加几行代码
log.info("response is "+ prev.getResponseDataAsString());
log.info("content-type is"+prev.getContentType());
log.info("header is "+prev.getRequestHeaders());