1.post请求返回中文乱码
修改\apache-jmeter-2.12\bin\jmeter.properties文件,增加语句:sampleresult.default.encoding=utf-8重启Jmeter,返回乱码解决
2.发送的中文显示乱码
1.csv data set config中设置file encoding设置为gb3213,txt文本编码格式设置为ANSI
2.csv data set config中设置file encoding设置为utf-8,txt文本编码格式设置为utf-8
3.Jmeter链接mysql数据库设置
1.下载mysql驱动添加到\apache-jmeter-2.12\lib目录
2.test plan 中添加mysql驱动:E:\apache-jmeter-2.12\lib\mysql-connector-java-5.1.40-bin.jar
3.添加JDBC connection configuration
设置database url jdbc:mysql://地址:端口/库名
设置JDBC Driver class com.mysql.jdbc.Driver
设置链接数据库的用户名/密码
4.发生post请求,返回请先登录
1.没有添加cookie manager管理器,
2.就是要添加登录请求(要在一个线程组里)
5.参数化设置例如存在100个test0-test99的用户
用户名参数化设置test${__Random(0,100,)}
6. csv data set config设置发送的请求不重复
设置CSV data set congfig中 recycle on EOF(是否循环读入)为false
设置CSV data set congfig中 stop thread on EOF(读到末尾时是否停止读取)为 true
7.jmeter 获取数据库中的值作为参数
(1)jdbc request中varable names 与foreach数据库取值:
设置jdbc request中 variable names:column1..
设置foreach中的输入前变量:column1(variable names中填写的变量名称)
设置foreach需要循环的开始值和结束值,也是循环取值的范围
设置foreach输出的变量名称:id(可以在请求中${id}直接引用)
设置完毕,点击回放即实现从数据库取值做为参数
(2)jdbc request中result variable name 与beanshell postprocessor数据库取值:
设置 jdbc request 中的result variable name的值为:result
beanshell postprocessor(获取result 中保存的变量)编写脚本:
//list的形式:result=[{account=admin,password=....,realname=..},{...}..]或者result=[{"account":"admin","password":"..."},{...}] //从list中获取account的值 注意:Object 首字母大写 columnvalue1=vars.getObject("result").get(0).get("account"); //从list中获取account的值 columnvalue2=vars.getObject("result").get(0).get("password"); //将volumnvalue的值赋值给account,password;其他请求中就可以直接调用account和password了; vars.put("account",columnvalue1); vars.put("password",columnvalue2);