网站首页 > 博客文章 正文
在使用jmeter做性能测试时 ,基本都是针对以下的两种类型的性能测试:
- 对web系统页面的性能测试
- 对系统的接口进行性能测试
有页面的可以优先测试页面 ,但是如果是APP或小程序的性能测试 ,更多的是对接口进行性能测试 。那么接下来我们分别对这两种情况进行一一介绍。
1.对web系统进行性能测试
在对web系统进行性能测试时,一般都是通过录制的方式,通过工具将要测试的页面录制成脚本,然后再进行性能回放 。目前多数也是支持这种工具 ,虽然jmeter也自带录制功能,但是总觉得jmeter的录制不太耗时,所以这里更推荐大家使用badboy进行录制 。下面就来介绍如何使用Badboy进行录制性能测试脚本。
操作步骤:
- 进入badboy官网地址,下载地址:https://badboy.en.softonic.com/ ,在本地进行安装。若已安装则忽略此步骤。
- 打开badboy界面,进入后直接就是录制界面,具体如下 。
- 在地址栏中输入系统地址 ,点击‘前进’按钮 。
- 然后就会在右侧的区域内出现系统页面 ,点击页面进行业务操作(注意:这里就是要进行性能测试的场景,不是随意点击),操作完毕后点击停止按钮
- 点击文件-Export to Jmeter后,就会在导出jmeter脚本 。
6.打开jmeter,先新建个线程组,然后将上面导出的脚本导入到jmeter线程组中 。
- 在生成的脚本中再根据要求做一些简单的修改,比如配置线程组数,运行时间,登录设置等后,就此一个性能脚本搞定 。
最后,我们就可以进行性能压测了 。
2.批量采集接口进行性能测试
正常情况下,在开发性能脚本基本都是需要一个个添加 和调试。比如一个性能场景中包含了10个接口,那么就需要在jmeter中添加10个这样的接口,然后一个一个调试 ,在这个过程有时候会很耗时 。那么能否也像上面一样,可以直接操作APP应用就能生成对应的接口呢 ?经过构思并一顿网上查找后 ,最终确定也是可以实现的。具体实现思路就是:
- 操作被测系统,然后通过fiddler进行抓包 。
- 在fiddler抓包时设置过滤条件,只保留被测系统的数据包
- 然后将数据包导出jmeter格式的数据包 ,这里就需要这么一个插件,能支持导出jmeter格式的数据包 。
- 导入到jmeter中 ,进行简单调整与修改 。
好了,知道了实现思路后,在网上终于找到了这样的一个插件 ,可以支持导出jmeter格式的数据包。接下来就介绍如何批量采集数据包导入jmeter中的步骤。
(1)将插件放在fiddler目录下
插件下载链接:链接:https://pan.baidu.com/s/1TDzL-2ZxnM2ZORaZ7GgX6w ,提取码:mf7j
将下载的ImportExport解压后,里面有两个文件:FiddlerExtensions.dll、FiddlerExtensions.pdb ,把这两个文件放在Fiddler安装路径下的ImportExport目录下 。具体如下 :
(2)重新打开fiddler,进行抓包
- 配置好插件后,重新打开fiddler 。
- 提前在fiddler中设置好过滤条件 ,只允许被测系统的数据包通过(这里就以禅道为例,实际情况下应该是通过操作APP采集接口)。
- 在被测系统上进行业务操作,注意这里的操作一定是按照性能的业务需求来进行操作 。
- 导出抓取到的数据包,数据格式选择jmeter .
(3)将数据包导入jmeter中,进行相应调整 。
把导出的包导入到jmeter中,然后再进行一些调整,最终成为我们所要的脚本。
3.总结
通过以上的两种方式 ,我们既可以快速的生成相应的web页面脚本,也可以快速生成app所对应的接口数据 ,从而降低脚本开发时间 。
猜你喜欢
- 2024-10-19 JMeter基础(jmeter操作)
- 2024-10-19 Jmeter(二十一)-fiddler录制脚本(jmeter怎么录制脚本,工作原理)
- 2024-10-19 深度好文【jmeter 性能测试与 influxdb2 集成显示监控结果 】
- 2024-10-19 Jmeter 接口测试(JMETER接口测试报告)
- 2024-10-19 基于Docker的jmeter弹性压测(1)发压
- 2024-10-19 性能测试工具JMeter环境搭建(性能测试工具jmeter环境搭建手册)
- 2024-10-19 脚本太多不好管理?Jmeter这个组件帮你轻松搞定
- 2024-10-19 Jmeter接口测试+压力测试,一看就会
- 2024-10-19 Jmeter 简要介绍与安装(jmeter安装配置)
- 2024-10-19 Jmeter结构体系——Jmeter目录结构详解
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 358℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)