Jmeter之HTTP协议接口性能测试

一、Http协议

1. 常见的接口协议
  • HTTP:超文本传输协议
  • HTTPS:安全超文本传输协议
  • FTP:文件传输协议
  • TCP:网络控制协议
  • IP:互联网协议
  • UDP:用户数据协议(实时通讯常用)
2. HTTP协议响应码

1xx:信息响应类,表示接收到请求并继续处理
2xx:处理成功响应类,表示动作被成功接收、理解和接受
3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
4xx:客户端请求,客户端请求包含语法错误或者不能正确执行
5xx:服务端错误,服务器不能正确执行一个正确的请求
在这里插入图片描述

3. Http协议请求响应模型
  • 一次请求的生命周期或简单的软件分层
API
DB
API
client

场景:登录

  1. 客户端发起请求到api接口层
    1.1 用户在客户端填写用户名和密码,点击登录,发送请求
  2. api接收带客户端发起的用户请求
    2.1 api对业务逻辑进行验证
    2.1.1 验证用户名和密码是否合法
    eg:用户名必须为真实手机号码,如果验证失败,则用户名不合法,必须给客户端返回响应码,比如1,2,3
    1 代表用户名格式错误
    2 代表用户名或密码错误
    3 代表密码格式错误
  3. api会将用户输入的数据发给db层
    Create、Read、Update、Delete
    3.1 数据库查询成功则返回1,查询失败返回0
  4. DB会将返回的查询的数据库的条目数给api
  5. api返回成功或失败的状态码给客户端
  6. 客户端将返回信息提示给用户

一、客户端

  • 功能测试、性能测试、自动化测试

二、接口层

  • 接口测试、功能测试、性能测试、自动化测试

三、数据库层

  • 可以将开发人员使用的sql语句单独拿出来做性能测试
4. 常用HTTP请求方式
  1. HEAD
    向服务器索取与GET请求一致的响应,只不过响应体将不会被返回,这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息
  2. GET 向特定的资源发起请求,注意:Get方法不应该被用于产生“副作用”的操作中 例如在web应用中,GET可能会被网络蜘蛛随意访问(参数会携带在url中被随意访问)
  3. POST 向指定资源提交数据进行处理请求(例如表单或上传文件),数据被包含在请求体中,post请求可能会导致新的资源的建立和已有资源的修改
  4. PUT 向指定资源位置上上传其最新内容
  5. DELETE 请求服务器删除Request-URL所标识的资源
  • 了解
    • OPTIONS
      返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
    • Trace
      回显服务器收到的请求,主要用于测试或诊断
    • CONNECT
      HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器
  • 注意:
    • 方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Method Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)
    • HTTP服务器至少应该事先GET和HEAD/POST方法

二、Jmeter中的请求

GET请求
  1. 常用场景
    BS架构应用性能
    HTTP协议接口功能与性能
    FTP协议接口功能与性能呢
    Mysql数据库性能
    MongoDB数据库性能
    支持自定义java组件开发
  2. Jmeter返回数据含中文乱码问题
  3. 参数化
    选项 —> 函数助手对话框
    在这里插入图片描述
  4. 场景设置
    在这里插入图片描述
  • 如果遇到复杂的场景,可以设置多个线程组,分别设置
POST请求

在这里插入图片描述

三、Jmeter

  1. Jmeter的组成
    取样器:进行脚本逻辑控制
    线程组:场景设置
    监视器:监视脚本运行,获得性能指标

Jmeter脚本的录制

  1. 脚本录制的流程和思路
业务流程
录制工具
脚本制作
性能测试

一、使用badboy进行录制

二、使用代理方式进行录制

http请求默认值
http代理服务器
浏览器设置

Jmeter脚本的制作

1. 用户自定义变量(常用于ip替换)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值