jmeter book (yq)
已迁移到yq https://www.yuque.com/puredream/windsnow/xk1tte
入门
Jmeter接口测试---get和post及解决乱码问题--https://www.cnblogs.com/hanxiaobei/p/5371301.html ($请求导致服务器乱码)
Jmeter之解决烦人的中文乱码问题--https://www.cnblogs.com/liulinghua90/p/6973289.html (服务器返回乱码)
启动说明
双击 jmeter.bat
启动 C:\NewPrograms\jemter\apache-jmeter-5.4.1\bin\jmeter.bat
切换成中文
方式一:
Options | Choose Language | Chinese (Simplified)
方式二:
找到 JMeter
的安装目录下的 bin
文件夹 , 像我的目录位于 C:\NewPrograms\jemter\apache-jmeter-5.4.1\bin (仅供参考 ,每个人电脑安装有区别 )
继续找到 jmeter.properties
把 #language=en
改成 language=zh_CN
保存
重启jmeter
样式
个人喜欢使用 选项 | 外观 | Darklaf - IntelliJ 外观
参数说明
Ramp-up Period(in seconds)
用于告知JMeter 要在多长时间内建立全部的线程。默认值是0。如果未指定ramp-up period ,也就是说ramp-up period 为零, JMeter 将立即建立所有线程。假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JMeter 将每隔T/N秒建立一个线程
循环次数
循环次数times代表线程组中每个线程执行T遍, 意味着单个线程一旦执行完毕会马上继续执行T-1次
解决 post乱码
- 在BeanShell PreProcessor的script中添加prev.setDataEncoding("UTF-8")
- 在HTTP请求的Content Encoding中添加UTF-8
- 在BeanShell PostProcessor的script中添加prev.setDataEncoding("UTF-8")
jmeter 文件上传接口
注意:
1.文件上传接口的请求内容类型不能在HTTP信息头中添加Content-Type,否则接口响应报500,在添加请求时勾选"对POST使用multipart/form-data"即可
2.如果设置了HTTP信息头全局变量,文件上传接口的Content-Type与全局变量不一致,那么需要在文件上传请求前添加beanshell预处理程序去除HTTP信息头全局变量中的Content-Type,看下面截图
3.抓包与jemter填写的文件参数名,其他参数名称的填写
beanshell预处理程序,去除全局的HTTP头信息脚本如下:
import org.apache.jmeter.protocol.http.control.HeaderManager;
// 获得请求头信息
HeaderManager headers = sampler.getHeaderManager();
// 打印删除指定请求头参数前的全部请求头信息
log.info("删除前请求头信息" + headers.getHeaders().getStringValue());
// 删除请求头指定的Content-Type
sampler.getHeaderManager().removeHeaderNamed("Content-Type");
// 删除请求头指定的X-Token
sampler.getHeaderManager().removeHeaderNamed("X-Token");
// 打印删除指定请求头参数后的全部请求头信息
log.info("删除后请求头信息" + headers.getHeaders().getStringValue());
本小节原文: jmeter 文件上传接口==>https://www.cnblogs.com/sheepboy/p/17535503.html
beanshell取样器
String nameAndMobile = vars.get("name") + "-" + vars.get("mobile");//从 csv 表格中提取列
vars.put("nameAndMobile",nameAndMobile); //将数据存放到jmeter变量中
配置了 nameAndMobile 后, 可以直接在请求报文中使用 nameAndMobile
{
"name" : "${name}"
"mobile" : "${mobile}"
"nameAndMobile" : "${nameAndMobile}"
}
解决返回报文乱码
apache-jmeter-3.1/bin/jmeter.properties 文件
找到#sampleresult.default.encoding=ISO-8859-1
将注释去掉,改成如下:
sampleresult.default.encoding=UTF-8
其它解释
响应断言: 判断返回结果是否正确, 可用于"察看结果树中"用红绿色标记出哪些是成功请求,哪些是失败请求
察看结果树: 查看每次请求的详细信息
Aggregate Graph (聚合图): 统计总共的成功失败条数
Jmeter_获取结果写到excel
Jmeter_获取结果写到excel==>https://www.cnblogs.com/JacquelineQA/p/12379856.html
jmeter各种配置参考
JMeter 参数化之 CSV Data Set Config--https://blog.csdn.net/elladu/article/details/51564208 (请求地址动态化)
jmeter快捷键
快捷键 | 功能 | 额外说明 |
Ctrl + R | 启动测试 | |
Ctrl + , | 停止测试 | Ctrl + 逗号 |
其他参考
SoapUI、Jmeter、Postman三种接口测试工具的比较分析——灰蓝
linux环境下使用jmeter进行压力测试==>https://www.cnblogs.com/surewing/p/9271886.html
zjmeter 文件上传接口==>https://www.cnblogs.com/sheepboy/p/17535503.html📌📌