jmeter book (yq)

已迁移到yq  https://www.yuque.com/puredream/windsnow/xk1tte

 

入门

📌【后台测试】手把手教你jmeter压测

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测试结果写入Excel【BeanShell取样器】==>https://blog.csdn.net/weixin_57794111/article/details/133308486==>https://blog.csdn.net/weixin_57794111/article/details/133308486

 

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📌📌

 

posted @ 2017-11-28 13:41  苦涩泪滴  阅读(317)  评论(0编辑  收藏  举报