Jmeter安装教程 测试post请求发送json字符串

安装

第一步 下载JMeter

进入官网
Binaries是编译好的,下载后可以直接解压运行(前提有JAVA环境)
点击.tgz后缀的链接下载(相同的文件,使用tgz格式的算法压缩后的文件比zip算小些)
Jmeter安装教程 测试post请求发送json字符串
下载后,放入某个目录解压即可。

第二步 安装JAVA,配置环境(电脑上有java8环境的可以跳过)

测试:
使用 win+r 打开运行,然后输入cmd。
在dos窗口中依次输入:java,java -version。(java -version输出的版本大于等于1.8,可以跳过第二步)
Jmeter安装教程 测试post请求发送json字符串

下载安装java8

第一种方式:官网下载
下载jdk8
Jmeter安装教程 测试post请求发送json字符串
第二种方式:百度网盘
链接:java8
提取码:h22o

然后傻瓜式的下一步就好了。

配置环境变量

步骤大致如下:
Jmeter安装教程 测试post请求发送json字符串

重复第二步开始的测试。

打开JMeter

方式1.由于我们刚刚配置环境变量时,也配置了JMETER_HOME的环境,所以可以使用这种方式打开:
Jmeter安装教程 测试post请求发送json字符串
方式二:找到JMeter的解压目录,进入bin目录,运行 jmeter.bat

JMeter之初体验

1.设置背景色:option -> Look and Feel -> 选择看着舒适的界面外观

2.设置界面字体:option - > Choose Language -> Chinese(Simplified) (中文简体)

3.使用:
(既然都使用了中文,有很多东西都能自己看得懂,我就做个简单的 测试计划,用来熟悉JMeter操作。)

3.1:新建一个线程组
Jmeter安装教程 测试post请求发送json字符串
测试计划:
名称:任务名称(保存测试计划时文件的名称)
线程数:多少个请求
Ramp-Up时间(秒):设置时间范围完成请求
循环次数:(这个不言而喻)

Jmeter安装教程 测试post请求发送json字符串

这里测试我们使用http请求:
名称:随便取
web服务器内的 协议:http
服务器名称、端口号、路径:这三个可以分开写,也可以全部写在路径内
http 请求方法:get/post
内容编码:UTF-8(不设置,可能会出现服务器接收到中文是?或乱码)
最下面的三个:参数,消息体数据,文件上传,且参数和消息体只能二选一,一次请求不能同时出现两个,根据需求选择。(这里我需要提交的是个复杂的json字符串,所以选择了消息体数据)

Jmeter安装教程 测试post请求发送json字符串
Jmeter安装教程 测试post请求发送json字符串

可以看见,项目内真实请求JMeter 消息体参数都是JSON字符串(写JSON字符串时,需要自己JSON在线校验
Jmeter安装教程 测试post请求发送json字符串

因为是发送JSON数据,比较稳妥点办法就是:
1.鼠标右键HTTP请求,创建HTTP消息头管理器。
2.打开浏览器控制台 f12,或右键检查,点击 Network
3.向测试地址发起正常请求
4.点击请求方法,将Request Headers 全部复制。
5.点击HTTP消息头管理器内的 “从剪贴板添加” 按钮。

Jmeter安装教程 测试post请求发送json字符串
Jmeter安装教程 测试post请求发送json字符串

Jmeter安装教程 测试post请求发送json字符串

添加测试结果查看

Jmeter安装教程 测试post请求发送json字符串
最后点击界面的保存,然后再点击开始测试
Jmeter安装教程 测试post请求发送json字符串
测试结果查看
Jmeter安装教程 测试post请求发送json字符串
到这里就差不多完了,我大概说下为什么会写这篇文章吧:
这两天项目有个接口需要做压力测试,然后我就使用jmeter来测试,但是访问接口的数据比较麻烦只能用json字符串。然后就出问题了,后端(java)接收到的对象,它的属性全书null(参数传递有问题),然后百度一大堆,都是说添加消息头Content-Type : application/json。但是试了下,没用。然后阴差阳错的看见别人文章内的图片内有很多消息头设置,于是我就想到把浏览器发送成功的Request Header 复制过来。然后居然成了,无语,之前怎么没想到,看来还是太嫩了啊。