jmeter接口测试、压力测试简单实现

这篇具有很好参考价值的文章主要介绍了jmeter接口测试、压力测试简单实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

jmeter测试的组件执行顺序:

测试计划—>线程组—>配置元件—>前置处理器—>定时器—>逻辑控制器—>取样器—>后置处理器—>断言—>监听器

组件的作用范围:

  • 同级组件
  • 同级组件下的子组件
  • 父组件

目前市面上的三类接口

1、基于webservice协议接口,通过xml传输数据

2、基于dubbo协议接口,通过json传输数据

3、基于http协议接口,通过json传输数据

[ ]:数组,多个值

{ }:对象,键值对

接口项目实战:

端口号:http:80

             https:443

接口测试实战

  • 创建一个线程计划
  • 在线程计划中创建一个线程组
  • 在线程组中添加配置元件(HTTP信息头管理器、HTTP请求默认值、HTTP Cookie管理器、用户定义的变量)
  • 在线程组添加一个结果树来查看测试结果

jmeter接口测试、压力测试简单实现,前端

        在HTTP请求默认值中配置测试接口的请求协议、ip、端口号。在这里统一配置后,在接口测试时就不用重复配置这些前缀,只需要把URL填上即可。

jmeter接口测试、压力测试简单实现,前端

        在 HTTP信息头管理器,添加请求头信息     

jmeter接口测试、压力测试简单实现,前端

        在线程组添加一个取样器—HTTP请求。这个组件就是填写要测试接口的信息。接口路径、参数、返回格式都在这里填写。

        比如,我要测试的一个接口为用户登录接口,填写好接口路径以及参数后,点击运行,即可在查看树查看结果。

jmeter接口测试、压力测试简单实现,前端

          填写完接口信息后,点击运行按钮,然后在结果树查看测试结果。

jmeter接口测试、压力测试简单实现,前端

 jmeter接口测试、压力测试简单实现,前端

现在正式开始一组接口测试:

要测试的接口流程:

验证码加载==>用户登录==>查看商品信息==>添加商品到购物车==>结算生成订单==>查看订单

用户登录接口:

方法:post

地址:/sysUser/listb

参数:

  • username: admin
  • password: admin
  • code: aaaaa
  • picture: aaaaa
  • 不需要鉴权

结果:

{"msg":"操作成功!","code":200,"data":{"jwt":"token值","username":"用户名"}}

查看信息接口:

方法:get

地址:/login

参数:无

结果:

{{"code":200,"msg":"操作成功!","data":[{数据}]}}

添加商品到购物车

方法:post

地址:/sysUser/insertcar

参数:

{
  "gname": "string",
  "num": 0,
  "price": 0,
  "seller": "string",
  "username": "string"
}

结果:

{{"code":200,"msg":"操作成功!","data":[{数据}]}}

结算生成订单

方法:post

地址:/sysUser/insertcar

参数:

{
    "oid": "string",
    "address": "string",
    "buyer": "string",
    "gname": "string",
    "num": 0,
    "seller": "string",
    "created": "2023-07-26T09:11:10.237Z",
  }

结果:

{{"code":200,"msg":"操作成功!","data":[{数据}]}}

查看订单

方法:get

地址:/sysUser/insertcar

参数:

  • name(当前的用户名)

结果:

{{"code":200,"msg":"操作成功!","data":[{数据}]}}

测试登录接口

现在开始测试用户登录接口

添加一个http请求

填入传输类型post,填入url,填入参数

jmeter接口测试、压力测试简单实现,前端

然后,运行,查看结果树

jmeter接口测试、压力测试简单实现,前端

 测试查看商品的接口    

        测试查看商品的接口,除了登录接口的其他接口都需要登录时生成的token,也就是上图的jwt值,没有这个值,是无权进行查看接口这个操作。登录接口与查看商品接口有关联的,我们需要获取到这个token值,添加到后续接口的请求头。 

接口关联:有两种方法

正则表达式提取器

jmeter接口测试、压力测试简单实现,前端

1、变量名:可以随意定义

2、正则表达式:要包括左边界、右边界以及(.*?),

3、$1$表示取第一个正则。$2$表示取第二个正则

4、匹配数字,1表示取第一个匹配到的值

5、默认值,没有匹配到使用默认值。

然后在HTTP信息头管理器添加token信息

jmeter接口测试、压力测试简单实现,前端

JSON提取器

例子

{"jwt":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImlhdCI6MTY5MDM1OTczNiwiZXhwIjoxNjkwOTY0NTM2fQ.1HPGr2RLQpW8SzcRfHzWhMmJ9zMOVQXqe8g69tkOPF-QbdEPj7N0ASXW86lL0KxQ_rGcNdZ-WYmV9cbUpj8dCw","username":"admin"}

语法规则:只适用于json数据

  • $代表根目录
  • .代表子节点

$.jwt=>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImlhdCI6MTY5MDM1OTczNiwiZXhwIjoxNjkwOTY0NTM2fQ.1HPGr2RLQpW8SzcRfHzWhMmJ9zMOVQXqe8g69tkOPF-QbdEPj7N0ASXW86lL0KxQ_rGcNdZ-WYmV9cbUpj8dCw

  • $.username=>admin
  • $.* 取所有的值即jwt和username的值

如果没有通过鉴权测试,是无法访问其他接口的

jmeter接口测试、压力测试简单实现,前端

 在登录接口添加一个正则表达式管理器来获取token值

jmeter接口测试、压力测试简单实现,前端

 在线程组添加一个HTTP请求(查看商品接口),在接口下添加HTTP信息头管理器,并在信息头管理器里面填写token配置

jmeter接口测试、压力测试简单实现,前端  

然后在查看商品接口填写传输方式:get,参数:无;

jmeter接口测试、压力测试简单实现,前端

运行测试,可以看到成功获得商品列表

jmeter接口测试、压力测试简单实现,前端

 测试添加商品到购物车

在线程组添加一个HTTP请求(添加商品接口),在接口下添加HTTP信息头管理器,并在信息头管理器里面填写token配置。

在添加商品接口内填写:

传输方式:post

参数:

{ "gname": "苹果手机", "num": 1, "price":4000.00, "seller": "root", "username": "${username}" }

username为当前登录的用户名,所以我们可以通过json提取器来获得登录时的用户名,并在此引用。

然后启动测试,查看结果数

jmeter接口测试、压力测试简单实现,前端

 测试结算生成订单接口

 在线程组添加一个HTTP请求(生成订单接口),在接口下添加HTTP信息头管理器,并在信息头管理器里面填写token配置

在添加商品接口内填写:

传输方式:post

参数:

[
    {"gname": "苹果手机",
    "num": 1,
    "buyer": "${username}",
    "seller": "root",
    "address": "广东省xx市xx区",
    "created": "2023-06-27T03:19:43.460Z"
    }
    ]

运行测试,得到结果

jmeter接口测试、压力测试简单实现,前端

 测试查看订单接口

 在线程组添加一个HTTP请求(查看订单接口),在接口下添加HTTP信息头管理器,并在信息头管理器里面填写token配置

传输方式:post

参数:

String username

jmeter接口测试、压力测试简单实现,前端

 

运行,查看结果树

jmeter接口测试、压力测试简单实现,前端

 以上就是jmeter测试接口的基本流程,但是以上例子都是正例。我们可以csv参数化来设置正例、反例来测试接口。以登录接口为例。

csv参数化

  • 创建一个csv文件
  • 打开文件
  • 输入数据

jmeter接口测试、压力测试简单实现,前端

第1行为属性名

username为登录接口的账号,password为密码,code和picture为验证码,duanyan为断言

第1行下面的则为属性值

第2行:账号密码、验证码都正确

第3行:账号为空,密码、验证码正确

第4行:账号、验证码正确、密码为空

第5行 :账号、密码正确、验证码错误

然后再登录接口下面添加一个csv数据文件设置,并配置

jmeter接口测试、压力测试简单实现,前端

 然后修改接口的参数

jmeter接口测试、压力测试简单实现,前端

在线程组添加一个循环控制器 ,因为这里有4个用例,所以循环次数为4

jmeter接口测试、压力测试简单实现,前端

 把验证码接口和登录接口放到循环控制器中,运行测试,查看结果树,可以得到4组测试结果

jmeter接口测试、压力测试简单实现,前端

jmeter接口测试、压力测试简单实现,前端 

jmeter接口测试、压力测试简单实现,前端 

jmeter接口测试、压力测试简单实现,前端 

压力测试 

添加一个线程组,设置线程数为10,线程多少内启动完成,循环次数为1.

jmeter接口测试、压力测试简单实现,前端

然后添加查看结果的页面:(聚合报告)、表格统计结果界面(根据需要,可选)、添加图形结果页面(根据需要,可选)。

然后添加要压力测试的接口,运行测试。

我要测试登录接口以及获取商品库存的接口,添加两个http请求,填好数据(如接口测试那样操作)。运行测试,查看结果:

聚合报告 

jmeter接口测试、压力测试简单实现,前端

 表格统计

jmeter接口测试、压力测试简单实现,前端

 

性能测试主要关注如下三个指标文章来源地址https://www.toymoban.com/news/detail-613833.html

  • 吞吐量:每秒钟系统能够处理的请求数、任务数,该值越大越好
  • 响应时间:服务处理一个请求或一个任务的耗时
  • 错误率:一批请求中结果出错的请求所占比例

到了这里,关于jmeter接口测试、压力测试简单实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JMeter接口测试及接口登陆压力测试

    或上方链接下载 脚本: https://mp.csdn.net/mp_download/manage/download/UpDetailed 查看别的博主内容时发现了个开放的API,可以作为练习使用 https://wanandroid.com/blog/show/2 操作步骤 1.启动jmeter 2.在\\\"测试计划\\\"下添加\\\"线程组\\\" 3.在\\\"线程组\\\"下添加\\\"HTTP请求\\\"取样器 4.填写\\\"HTTP请求\\\"的相关请求数据

    2023年04月08日
    浏览(36)
  • 压力测试+接口测试(工具jmeter)

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因 为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在 linux

    2024年01月17日
    浏览(56)
  • Jmeter接口测试与压力测试

    🍅 视频学习: 文末有免费的配套视频可观看 🍅  关注公众号:互联网杂货铺,回复1  ,免费获取软件测试全套资料,资料在手,涨薪更快 Jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简

    2024年04月23日
    浏览(43)
  • Jmeter接口测试与压力测试详解

     jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因 为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在 lin

    2024年01月19日
    浏览(52)
  • 如何用jmeter做接口测试、压力测试?

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因 为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在 linux

    2024年02月03日
    浏览(46)
  • 性能测试-压力测试-jmeter简单实战

    压力测试考察当前 软硬件环境 下系统 所能承受的最大负荷并帮助找出系统瓶颈所在 。压测都是为了系统在线上的 处理能力和稳定性维持在一个标准范围内 ,做到心中有数。 使用压力测试,我们有希望发现找到很多种其他测试方法很难发现的错误。 有两种错误类型是:内

    2024年02月10日
    浏览(48)
  • 全网最新最全的jmeter接口测试,压力测试

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因 为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在 linux

    2024年04月09日
    浏览(52)
  • jmeter入门:接口压力测试全解析

    1.添加线程组(参数上文有解释 这里不介绍) 2.添加取样器 不用解释一看就知道填什么。。。 3.添加头信息(否则请求头对不上) 也不用解释。。。 4.配置监听器 可以尝试使用这几个监听器。 样本:请求数 平均值:请求结果返回的平均时间 异常:没有收到的返回百分比

    2024年02月12日
    浏览(43)
  • 接口压力测试 jmeter--增强篇(二)

    下载Jmeter Plugins Manager对插件进行管理 (1)下载地址:https://jmeter-plugins.org/install/Install/ (2)下载后,将jar包放到jmeter包目录下/lib/ext目录下 (3)重启Jmeter,点击【选项】,就能看到插件管理器了 直接插件下载 JMeterPlugins-Standard.jar和JMeterPlugins-Extras.jar,存放到/apache-jmeter-5.6

    2024年04月28日
    浏览(41)
  • 接口压力测试 jmeter--进阶篇(三)

    (mac)性能监控平台搭建JMeter+Grafana+Influxdb 优点: 1.实时 2.美观 3.能够存储和对比 原理: 1.运行jmeter时会吧数据写入到influxdb 2.influxdb实时存储执行的结果 3.grafana链接.influxdb,将他的数据展示为图表   jmeter中,添加“监听器 - 后端监听器” 通过后端监听器,将聚合报告的值

    2024年04月25日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包