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

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

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

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

操作步骤:

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

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(1)

  1. 在地址栏中输入系统地址 ,点击‘前进’按钮 。

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(2)

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

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(3)

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

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(4)

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

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(5)

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

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(6)

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

2.批量采集接口进行性能测试

正常情况下,在开发性能脚本基本都是需要一个个添加 和调试。比如一个性能场景中包含了10个接口,那么就需要在jmeter中添加10个这样的接口,然后一个一个调试 ,在这个过程有时候会很耗时 。那么能否也像上面一样,可以直接操作APP应用就能生成对应的接口呢 ?经过构思并一顿网上查找后 ,最终确定也是可以实现的。具体实现思路就是:

  1. 操作被测系统,然后通过Fiddler进行抓包 。
  2. 在fiddler抓包时设置过滤条件,只保留被测系统的数据包
  3. 然后将数据包导出jmeter格式的数据包 ,这里就需要这么一个插件,能支持导出jmeter格式的数据包 。
  4. 导入到jmeter中 ,进行简单调整与修改 。

好了,知道了实现思路后,在网上终于找到了这样的一个插件 ,可以支持导出jmeter格式的数据包。接下来就介绍如何批量采集数据包导入jmeter中的步骤。

(1)将插件放在fiddler目录下

插件下载链接:链接:https:///s/1TDzL-2ZxnM2ZORaZ7GgX6w ,提取码:mf7j

将下载的ImportExport解压后,里面有两个文件:FiddlerExtensions.dll、FiddlerExtensions.pdb ,把这两个文件放在Fiddler安装路径下的ImportExport目录下 。具体如下 :

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(7)

(2)重新打开fiddler,进行抓包

  1. 配置好插件后,重新打开fiddler 。
  2. 提前在fiddler中设置好过滤条件 ,只允许被测系统的数据包通过(这里就以禅道为例,实际情况下应该是通过操作APP采集接口)。

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(8)

  1. 在被测系统上进行业务操作,注意这里的操作一定是按照性能的业务需求来进行操作 。

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(9)

  1. 导出抓取到的数据包,数据格式选择jmeter .

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(10)

(3)将数据包导入jmeter中,进行相应调整 。

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

jmeter可以运行什么脚本(如何在jmeter中快速开发性能脚本)(11)

3.总结

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

,