jmeter学习
1,接口在定义时,post请求参数尽量放在body里面,get请求参数尽量放在parameters里面,否则会导致jmeter请求接口报错的问题(jmeter底层有较为严格的请求格式)
2,定义全局变量使用:Config Element-> User defined variables,后面使用变量 ${变量名}
3,BeanShell中定义变量及代码编写注意事项
1,由于jmeter没有代码提示,所以尽量在idea工具中编写好后拷贝进来,注意代码中引入的依赖包,如果本身jdk不存在,则手动将包拷贝到jmeter lib下
2,jmeter中编写代码格式较为简单,如下:
import java.util.Calendar;
import java.util.Date;
import java.text.SimpleDateFormat;
java
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
Calendar calendar = Calendar.getInstance();//new一个Calendar类,把Date放进去
calendar.setTime(date);
vars.put("dateEnd",df.format(date)+" 23:59:59");
calendar.add(Calendar.MONTH, -3);
vars.put("dateStart",df.format(calendar.getTime())+" 00:00:00");
3,定义变量及使用方式
定义变量:vars.put("dateEnd",df.format(date)+" 23:59:59");
使用变量:${dateEnd}
需要注意的是vars.put(String,String),value为非String类型的时候会报错
4,控制台打印日志可以使用
import org.apache.logging.slf4j.Log4jLogger;
log.info("response:"+response);
4,控制台打印日志可以使用 import org.apache.logging.slf4j.Log4jLogger; log.info("response:"+response);
4,解析接口的返参结果
正则表达式方式(Regular Expression Extractor):JMeter 后置处理器之正则表达式提取器详解_metersphere正则提取器表达式-CSDN博客、https://www.cnblogs.com/hjianhui/p/9985359.html
数组字符串解析案例:data":["(.?)"]JSOn解析(JSON Extractor):jmeter之json提取器详解-CSDN博客数组对象解析案例:$.data[].dnId
5,接口结果断言 Response Assertion
Text Response-》Contains-》"code":200
6,打印变量:Debug PostProcessor
jmeter压测插件
1,Download plugins-manager.jar and put it into lib/ext directory, then restart JMeter.