如何在jmeter中快速开发性能脚本?这个功能你需要知道。

在使用jmeter做性能测试时 ,基本都是针对以下的两种类型的性能测试:

对web系统页面的性能测试
对系统的接口进行性能测试

有页面的可以优先测试页面 ,但是如果是APP或小程序的性能测试 ,更多的是对接口进行性能测试 。那么接下来我们分别对这两种情况进行一一介绍。

1.对web系统进行性能测试

在对web系统进行性能测试时,一般都是通过录制的方式,通过工具将要测试的页面录制成脚本,然后再进行性能回访 。目前多数也是支持这种工具 ,虽然jmeter也自带录制功能,但是总觉得jmeter的录制不太耗时,所以这里更推荐大家使用badboy进行录制 。下面就来介绍如何使用Badboy进行录制性能测试脚本。

操作步骤:

1、进入badboy官网地址,下载地址:https://badboy.en.softonic.com/ ,在本地进行安装。若已安装则忽略此步骤。
2、打开badboy界面,进入后直接就是录制界面,具体如下 。
在这里插入图片描述

3. 在地址栏中输入系统地址 ,点击‘前进’按钮 。
在这里插入图片描述

4. 然后就会在右侧的的区域内出现系统页面 ,点击页面进行业务操作(注意:这里就是要进行性能测试的场景,不是随意点击),操作完毕后点击停止按钮

在这里插入图片描述

5. 点击文件-Export to Jmeter后,就会在导出jmeter脚本 。

在这里插入图片描述

6. 打开jmeter,先新建个线程组,然后将上面导出的脚本导入到jmeter线程组中 。

在这里插入图片描述

7. 在生成的脚本中再根据要求做一些简单的修改,比如配置线程组数,运行时间,登录设置等后,就此一个性能脚本搞定

在这里插入图片描述

最后,我们就可以进行性能压测了 。

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,进行抓包

1、配置好插件后,重新打开fiddler 。

2、提前在fiddler中设置好过滤条件 ,只允许被测系统的数据包通过(这里就以禅道为例,实际情况下应该是通过操作APP采集接口)。
在这里插入图片描述

3. 在被测系统上进行业务操作,注意这里的操作一定是按照性能的业务需求来进行操作 。
在这里插入图片描述
4. 导出抓取到的数据包,数据格式选择jmeter .
在这里插入图片描述

在这里插入图片描述
(3)将数据包导入jmeter中,进行相应调整 。

把导出的包导入到jmeter中,然后再进行一些调整,最终成为我们所要的脚本

在这里插入图片描述

3.总结

通过以上的两种方式 ,我们既可以快速的生成相应的web页面脚本,也可以快速生成app所对应的接口数据 ,从而降低脚本开发时间 。

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/507597.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学会这几点,是搭建产品知识库的关键

现如今,企业都特别看重产品知识库,因为有了它,企业就能更好地管理产品信息,提升客户服务水平,还能帮企业做决策。但是,搭建一个好用、高效的产品知识库,也难倒了不少人。下面,我们一…

记录何凯明在MIT的第一堂课:神经网络发展史

https://www.youtube.com/watch?vZ5qJ9IxSuKo 目录 表征学习 主要特点: 方法和技术: LeNet 全连接层​ 主要特点: 主要特点: 网络结构: AlexNet 主要特点: 网络结构: Sigmoid Re…

设备物联网关在某制造企业中的应用-天拓四方

随着物联网技术的迅猛发展,设备物联网关作为连接物理世界与数字世界的核心组件,其应用已经渗透到工业、农业、医疗等多个领域。本案例将聚焦于设备物联网关在某制造企业中的应用,详细解析其在实际生产中的重要作用。 案例背景 某制造企业面…

代码随想录阅读笔记-二叉树【平衡二叉树】

题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 示例 2: 给定二叉树 [1,2,…

【Entity Framework】EF中的增删改查

【Entity Framework】EF中的增删改查 文章目录 【Entity Framework】EF中的增删改查一、概述二、DbContext数据上下文三、EntityState五个状态值四、EF添加数据4.1 EF Add方式4.2 EF 通过改变对象的状态为 Added4.3 调用方sql4.4 调用存储过程 五、EF修改数据5.1 不查询数据库&…

【SpringCloud】一文详谈Nacos

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 🛸学无止境,不骄不躁,知行合一 文章目录 …

陀螺仪传感器,IMU和加速度计的产品和选型

爱普生陀螺仪传感器是一种角速度传感器,作为一种石英电子式陀螺仪芯片,具有温度特性好、功耗低、成本低、稳定性好等特点。目前EPSON主力单轴陀螺仪传感器型号为XV7001BB、XV7011BB、XV7021BB和XV7181BB。针对扫地机器人传感器模组等领域的需要&#xff…

享道出行:容器弹性技术驱动下的智慧出行稳定性实践

作者:郑嘉扬、何杉 前言 享道出行是一家专注于出行服务的专业品牌,是上汽集团实现汽车产业“新四化”(即“电动化、智能网联化、共享化、国际化”)的重要组成部分。作为上汽集团移动出行战略品牌,享道出行充分利用全…

4、jvm基础知识(四)

有哪些常见的垃圾回收算法? ⚫1960年John McCarthy发布了第一个GC算法:标记-清除算法。 ⚫1963年Marvin L. Minsky 发布了复制算法。 本质上后续所有的垃圾回收算法,都是在上述两种算法的基础上优化而来。 垃圾回收算法-标记清除算法 标记清…

“星际畅聊”来了!电子开启光通信,量子技术领航远程快速通讯

科学家们最近通过使用电脉冲将磁信息成功转换为偏振光信号,开启了一项革命性的量子技术。这一进展预示着未来包括地球与火星间长距离星际光通信在内的通信方式将发生翻天覆地的变化。 这项研究成果于3月27日在《自然》杂志上发表。研究聚焦于自旋电子学领域&#xf…

Gerrit学习

安装Gerrit 以Ubuntu 20.04为例,安装Gerrit容器2.15版本 docker-compose.yml version: 3 services:gerrit:image: gerritcodereview/gerrit:2.15ports:- 8080:8080- 29418:29418volumes:- ./review_site:/var/gerrit/review_siteenvironment:- CANONICAL_WEB_URL…

算法——距离计算

距离计算常用的算法包括欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、余弦相似度等。这些算法在数据挖掘、机器学习和模式识别等领域中被广泛应用。 1.欧氏距离 欧式距离也称欧几里得距离,是最常见的距离度量,衡量的是多维空间中两个点之间的…

Docker容器、Serverless与微服务:腾讯云云原生架构技术实践案例集解析

前言 随着云原生技术的飞速发展,容器化和函数计算正成为企业和开发者关注的焦点。在这一潮流中,腾讯云凭借其卓越的技术实力和深厚的行业积累,发布了《2023腾讯云容器和函数计算技术实践精选集》,为我们提供了一份深入探索云原生…

【编译分析】MSVC编译器函数修饰的返回值问题

在阅读一篇关于函数重载的文章时,作者提到了MSVC进行函数修饰的结果比较gcc更加复杂。 通过查阅GPT发现可以使用vs提供的dumpbin工具查看编译之后的汇编程序相关信息,可以通过下面这条指令进行查看: dumpbin /all test.exe在结果中查看可以找…

[网鼎杯 2020 朱雀组]Nmap1

打开题目 在源代码中看到了提示 先随便输入127.0.0.1 那我们试试输入 127.0.0.1 | ls 可以看到 | 被转义符号\所转义 那我们输入 127.0.0.1 /| ls 得到三条反斜线 我们猜测,我们输入的东西是被escapeshellarg和escapeshellcmd处理过后的结果 我们输入的东西必须…

干懵过Intel、AMD的外星科技,又要再次降临了

2020年苹果 M1 芯片的横空出世,不光盘活了自家的Mac 产品,也让大家意识到 ARM 架构也能发挥出恐怖的实力。 为了涵盖各个定位,随后又是 M1 Pro、M1 Max ,最终还诞生了完全体 - M1 Ultra 。 两块 M1 Max 粘一起的规模带来了怪兽级…

skywalking idea中启动调试报错Output path is shared between the same module error

报错信息 简单描述:就是多个moudle一样用了一样的输出路径,这样容易造成冲突 Output path is shared between the same module error 参考:scala - Output path is shared between the same module error - Stack Overflow 解决方法&…

string容器以及vector容器的一些操作(常用的,不全)

目录 string 1.string的一些创建 2.string 的读入和输出: 3.string的一些操作 4.彻底清空string 容器的函数 vector 1.vector的一些创建: 2.vector的一些操作: 3.vector的彻底清空并释放内存: 参考:【C】如何…

【JavaWeb】Day31.SpringBootWeb请求响应——分层解耦(一)

分层解耦 1.三层架构 1.1 介绍 在我们进行程序设计以及程序开发时,尽可能让每一个接口、类、方法的职责更单一些(单一职责原则)。 单一职责原则:一个类或一个方法,就只做一件事情,只管一块功能。 这样就…

全网最全解析!Spring与非Spring环境下获取动态代理对象的原始目标对象

文章目录 前言在Spring AOP中获取动态代理对象的目标对象前置知识---SpringBoot默认是JDK动态代理还是Cglib动态代理?SpringBoot 2.x 版本分析Spring5 版本分析SpringBoot 1.x 版本分析SpringBoot 2.x 为何默认使用 Cglib 前置准备--工程准备1、自己写工具类获取--利…