JMeter之HTTP协议接口性能测试教程
JMeter之HTTP协议接口性能测试教程
一、不同角色眼中的接口?
1、开发眼中的接口:模块与模块之间的对接方式定义
2、测试眼中的接口:可以独立部署成服务的协议接口(http协议接口)
二、常见的接口协议
2.1、http 超文本文件传输协议 2.2、https 安全超文本传输协议
2.3、FTP 文件传输协议 2.4、TCP 网络控制协议
2.5、IP 互联网协议 2.6、UDP 用户数据协议
三、http协议栈中的位置
四、http协议响应码
4.1、1xx:信息响应类,表示接收到请求并继续处理,通常时间很短
4.2、2xx:处理成功类响应,表示动作被成功接收、理解和接受
4.3、3xx:重定向响应类,为了完成指定动作,必须接受近一步处理
4.4、4xx:客户端错误,客户请求包括语法错误或者是不能正确执行
常见的响应码404:我们请求的资源不存在
4.5、5xx:服务端错误,服务端不能正确执行一个正确的请求
五、http协议响应模型(一次请求的生命周期或简单的软件分层)
场景:程序登录页面
5.1、客户端发起请求到api层
5.1.1、用户在客户端填写用户名和密码,点击登录,发送请求
5.2、api接收到客户端发起的用户请求
5.2.1、api对业务逻辑进行验证
5.2.1.1、验证用户名密码是否合法
比如:用户名要求必须为真实的手机号(11位,1开头)
如果验证失败,即用户名不合法,那么需要给客户端返回响应码
比如码值为:1,2,3
1:用户名格式错误
2:用户名或密码错误
3:密码格式错误
5.3、如果验证成功,api会将用户输入的数据发给DB层
DB层会做Create(增)、Read(读、查)、Update(改)、Delete(删)的操作
Select * from User where UserName = ‘’ and PassWord = ‘’;
5.3.1、数据库查询成功则返回1,查询失败则返回0
5.4、DB会将返回的查询数据库的条目数给api
5.5、api返回成功或失败的状态码给客户端
5.6、客户端将返回信息提示给用户
扩展:
一、客户端 【 功能测试、性能测试、自动化测试】
二、接口层 【接口测试、功能测试、性能测试、自动化测试】
三、数据库层 【可以将开发人员使用到的SQL单独拿出来进行性能测试】
六、常用http请求的协议方式
6.1、get请求
6.2、post请求
6.3、get请求与post请求最简单的区别?
Get: http://127.0.0.1:8080?username=zhangsan&password=123
Post: http://127.0.0.1:8080
七、JMeter的功能介绍(万能的JMeter)
7.1、BS架构应用性能
7.2、HTTP协议接口功能与性能
7.3、FTP协议的功能和性能
7.4、MySql数据库性能
7.5、MongoDB数据库性能(非关系型)
7.6、支持自定义Java组件开发
8、JMeter的get请求与post请求
8.1、JMeter功能介绍
1、下载并解压
2、环境变量
JMETER_HOME = D:\apache-jmeter-5.2.1\apache-jmeter-5.2.1
在CLASSPATH后面加上;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
3、运行JMeter
4、弹出这个界面
5、修改成中文界面
6、添加http请求
7、为天气预报api进行接口测试
8、添加查看结果树
9、查看结果树
10、处理结果树乱码的情况
输入 prev.setDataEncoding("utf-8")
11、添加聚合报告并查看聚合报告
8.2、get接口请求参数化—函数助手
新建一个文档,随便放个目录下