文章目录
一、Http协议
1. 常见的接口协议
- HTTP:超文本传输协议
- HTTPS:安全超文本传输协议
- FTP:文件传输协议
- TCP:网络控制协议
- IP:互联网协议
- UDP:用户数据协议(实时通讯常用)
2. HTTP协议响应码
1xx:信息响应类,表示接收到请求并继续处理
2xx:处理成功响应类,表示动作被成功接收、理解和接受
3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
4xx:客户端请求,客户端请求包含语法错误或者不能正确执行
5xx:服务端错误,服务器不能正确执行一个正确的请求
3. Http协议请求响应模型
- 一次请求的生命周期或简单的软件分层
场景:登录
- 客户端发起请求到api接口层
1.1 用户在客户端填写用户名和密码,点击登录,发送请求 - api接收带客户端发起的用户请求
2.1 api对业务逻辑进行验证
2.1.1 验证用户名和密码是否合法
eg:用户名必须为真实手机号码,如果验证失败,则用户名不合法,必须给客户端返回响应码,比如1,2,3
1 代表用户名格式错误
2 代表用户名或密码错误
3 代表密码格式错误 - api会将用户输入的数据发给db层
Create、Read、Update、Delete
3.1 数据库查询成功则返回1,查询失败返回0 - DB会将返回的查询的数据库的条目数给api
- api返回成功或失败的状态码给客户端
- 客户端将返回信息提示给用户
一、客户端
- 功能测试、性能测试、自动化测试
二、接口层
- 接口测试、功能测试、性能测试、自动化测试
三、数据库层
- 可以将开发人员使用的sql语句单独拿出来做性能测试
4. 常用HTTP请求方式
- HEAD
向服务器索取与GET请求一致的响应,只不过响应体将不会被返回,这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息 - GET 向特定的资源发起请求,注意:Get方法不应该被用于产生“副作用”的操作中 例如在web应用中,GET可能会被网络蜘蛛随意访问(参数会携带在url中被随意访问)
- POST 向指定资源提交数据进行处理请求(例如表单或上传文件),数据被包含在请求体中,post请求可能会导致新的资源的建立和已有资源的修改
- PUT 向指定资源位置上上传其最新内容
- DELETE 请求服务器删除Request-URL所标识的资源
- 了解
- OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性 - Trace
回显服务器收到的请求,主要用于测试或诊断 - CONNECT
HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器
- OPTIONS
- 注意:
- 方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Method Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)
- HTTP服务器至少应该事先GET和HEAD/POST方法
二、Jmeter中的请求
GET请求
- 常用场景
BS架构应用性能
HTTP协议接口功能与性能
FTP协议接口功能与性能呢
Mysql数据库性能
MongoDB数据库性能
支持自定义java组件开发 - Jmeter返回数据含中文乱码问题
- 参数化
选项 —> 函数助手对话框
- 场景设置
- 如果遇到复杂的场景,可以设置多个线程组,分别设置
POST请求
三、Jmeter
- Jmeter的组成
取样器:进行脚本逻辑控制
线程组:场景设置
监视器:监视脚本运行,获得性能指标
Jmeter脚本的录制
- 脚本录制的流程和思路
一、使用badboy进行录制
- jmeter可以运行badboy录制的脚本
在badboy中浏览网页,进行操作,然后将文件导出为jmeter的可执行文件即可。在jmeter中打开这个文件,进行运行调试。
二、使用代理方式进行录制
- 浏览器设置代理
- jmeter添加代理服务器
- 解决:你的连接不是私密链接
导入了证书之后,最好关闭浏览器再重新开启,然后进行访问就没有问题了。 - 提示:开启了代理连接后,之后要上网记得改回来,不然有些网页已经无法访问。
Jmeter脚本的制作
1. 用户自定义变量(常用于ip替换)