Jmeter搭建与练习
Java环境搭建
1、接口测试技术栈:
HTTP的协议
执行:
工具:PostMan,JMeter
代码:框架
思想:MockServer
2、nginx、jmeter、maven、kafka
3、Jmeter
4、Apache JMeter features include:
5、浏览器中输入网址:
https://jmeter.apache.org/download_jmeter.cgi,选择apache-jmeter-5.4.3.zip下载在C盘,可以解压在当前文件夹中(bin为可执行的目录)
Jmeter最新版本:5.4.3,一般使用的版本是:5.4.1


一、搭建环境
1、点击启动

2、运行完成后显示

二、Apache Jmeter使用
1、切换语言


2、在选项中放大或缩小字体

测试计划可以理解为一个项目的顶级目录,可以为根目录,那么在一个测试计划的里面可以有很多的线程组
线程组可以理解为postman测试工具中的collection,那么在一个线程组里面可以存放很多的测试用例(test case)
三、新建TestDev
1、右键选择线程组

2、设置三个线程组
1)查看手机号码归属地、书籍服务、风暴平台

2)在手机号码归属地中选择添加HTTP请求

3)post请求方法:(消息体数据:xml 参数(表单)
完整的请求地址就是域名+路径
当之前设置的测试计划被删除后,重新查看可以选择“最近打开”

3、xml数据格式
1.1 填写请求地址与请求数据


1.2 请求头(HTTP信息头管理器是填写请求头的位置)
右击线程组,添加请求头

1.3 点击添加,输入Content-Type信息

1.4 断言请求信息
可以在设置的测试计划右击“查看结果树”

1.5 首先“清除全部”,点击启动,可以查看添加的测试计划断言信息

1.6 查看响应正文和响应头

4、GET请求

输入服务器名称与路径,以及验证的数据信息,之后操作查看结果树

5、POST请求(表单数据格式)
1.1 选择请求方式为POST,输入信息


1.2 新建信息头管理器,输入表单信息

1.3 运行POST结果树

因表单与xml冲突,故将两个数据区分输入
表单为application/x-www-form-urlencoded,xml为text/xml; charset=utf-8
4.1 点击“查看手机号码归属地”
右击“简单控制器”,输入两个数据格式,移入相关的HTTP请求,即可成功运行



1.5 当输入的请求或断言信息出现异常时,会有红色标识提示,点击可查看异常的具体问题

二、点击书籍服务
1、查看所有的书籍信息
输入网址信息:http://101.43.158.84:5000/v1/api/books

2、plugins是插件的意思,那么jmeter-plugins-manager-1.6.jar是jmeter的插件管理,把该文件放在JMeter安装目录下的lib下的ext的目录下

***安装插件的步骤:
(1) 在选项中点击插件管理
(2) 在available plugins中,搜索需要安装的插件,然后勾选
(3) 点击Apply Changes and Restart JMeter
(4)安装成功后,JMeter就会重新启动,那么安装成功的插件就会显示在installed plugins

***验证一个接口测试的结果信息:
(1) 协议状态码
(2) 业务状态码
(3) 响应数据
3、断言
(点击“查看所有的书籍信息”,选择添加三个断言)

JSON在线查看:https://www.bejson.com/jsonviewernew/

4、选择验证的信息

填写的断言:


***postman与jmeter的区别是什么?
1. 使用方面:
(1) 公司不管是开发,测试,架构师,大家调试以及验证接口,都是使用的是postman
2. 结果:
(1) postman统计结果是按添加的断言个数为统计结果的,如一个case,10个断言,那么执行统计是10
(2) jmeter是按测试用例的个数来统计结果的,如一个case,10个断言,那么执行统计是1
3. 插件方面:
(1) jmeter有很丰富的插件,可以对很多的协议进行测试,也可以和很多的主流监控软件进行合并
(2) jmeter可以组织以及管理上千的测试用例
***HTTP请求默认值:
添加方式:它是在配置元件里面,它的主要价值是,我们可以把请求地址填写在HTTP请求默认值里面,那么后面的接口就不需要填写请求地址了,它是全局的
***编码:请求参数里面如果有中文,那么在“内容编码”里面填写:utf-8 ,具体如下:

书籍中HTTP信息头管理器

动态参数:常用为JSON提取器
1、使用后置处理器中的正则表达式提取器
2、使用后置处理器中的JSON提取器
什么是后置处理器?
后置处理器值的是测试用例执行结束后,专门来处理执行后的事情

5、 断言:
1) 书籍名称

2) 业务状态码

3) 定义变量ID
bookID是变量,变量的值datas.id,在postman中,调用变量是:{{变量}},那么在JMeter中,调用变量为:${变量}


浙公网安备 33010602011771号