一、下载 JMeter

访问 JMeter 官方下载页面,在页面中,选择 Binaries(二进制)下载链接,下载 .zip

二、安装jmeter

1.下载完成后,解压缩 .zip 文件到你选择的目录(例如:E:\jmeter\apache-jmeter-5.6.3,具体的以你解压缩的位置为准)。

2.解压后,你会看到 binlib 等文件夹,bin 文件夹中有 JMeter 启动所需要的文件。

3.双击 bin 文件夹中的 jmeter.bat(ApacheJMeter.jar) 文件即可启动 JMeter(二者都可以)

4.启动后,JMeter 的界面会弹出。你可以开始使用 JMeter 进行测试了。

三、 配置环境变量(非必要)

   a.打开 系统属性 -> 高级系统设置 -> 环境变量

   b.在 系统变量 部分,找到 Path 变量并编辑。

  

c.在 Path 中添加 JMeter 的 bin 目录路径,例如:

四、JMeter 基本界面介绍

当 JMeter 成功启动后,你会看到一个类似于下面的界面:

  • 左侧面板:包括测试计划、线程组、HTTP 请求等组件,用户可以在这里构建测试脚本。
  • 右侧面板:显示当前选中组件的详细属性和设置。
  • 菜单栏:提供文件、编辑、运行、查看、帮助等菜单选项。

五、Jmeter接口并发测试

JMeter配置过程

 (一)  语言配置Options-Choose Language-Chinese(Simplified)

  将Jmeter的语言改成中文的,有利于后续操作

(二) 新建线程组测试计划右键—>添加—>线程(用户)—>线程组

  • 线程数:模拟的用户数,一个线程是一个用户。
  • Ramp-Up时间(秒):启动所有线程所需时间,单位为秒,比如 100 个线程要在 1 秒钟内启动完,则每个线程启动间隔时间为10 ms。
  • 循环次数:请求重复执行的次数。勾选永远则不能填入次数且会一直执行;不勾选永远,在输入框中输入数字则表示请求重复执行对应的次数。

(三) 添加HTTP请求默认值线程组右键—>添加—>配置元件—>HTTP请求默认值

  • 协议:http/https
  • 服务器名称或者ip:就是测试服务器的地址
  • 端口:就是服务器的端口
  • 内容编码:就是编码格式

如果测试的接口都是这个服务器,那这里配置http请求默认值会简化一些操作,如果都不一样,就不需要这个http请求默认值。我们这次测试的接口都是同一个服  务器,所以会配置http请求默认值。

(四) 添加HTTP信息头管理器:线程组右键—>添加—>配置元件—>HTTP信息头管理器

  我们这次测试的接口只需要下图中的这一个参数,如果需要参数化的变量就用${变量名}的形式代替。

(五) 添加同步定时器:线程组右键—>添加—>定时器—>Synchronizing Timer

  • 模拟用户组的数量:每次释放的线程数量。如果设置为0,等同于设置为线程租中的线程数量。如果设置为10,即集合10个线程等待,同时发送请求。设置此数量不能超过线程组中的线程数量。模拟用户组的数量不能超过线程组的数量
  • 超时时间以毫秒为单位:如果设置为0,Timer将会等待线程数达到了"模拟用户组的数量"中设置的值才释放。如果一直没有达到,则会一直等待,除非手动关闭执行。如果大于0,那么如果超过“超时时间以毫秒为单位”中设置的最大等待时间(毫秒为单位)后还没达到"模拟用户组的数量"中设置的值,Timer将不再等待,释放已到达的线程。默认为0

(六) 添加HTTP请求(tts调用接口):线程组右键—>添加—>取样器—>HTTP请求

  • 方法:接口的请求方法,如POST、GET、PUT、DELETE、HEAD等
  • 路径:目标的URL路径(不包括服务器地址和端口)
  • 参数:填写该接口所需要的参数值,可以选择消息体传参/参数传参/文件上传传参,参数化的变量就用${变量名}的形式代替,这个接口中word参数从表格中读取,所以用参数化的变量

(七)  添加CSV数据文件设置:tts调用接口右键—>添加—>配置元件—>CSV Data Set Config

  • 文件名:csv文件存储全路径(若文件的路径修改,这里也需要相应修改;若需要修改tts文案,可以在表格中修改)
  • 文件编码:编码使用GB2312。
  • 变量名称:需要从表格中读取内容的参数名,多个参数用逗号分隔
  • 忽略首行:通常情况下csv的文件首行标注参数名,不是具体的数据,所以要设置忽略(设为true)
  • 分割符:默认英文逗号分隔,这里只有一个参数所以不需要填写,有多个参数时则需要填写
  • 是否允许带引号:如果csv文件中有json数据,或者带有引号的数据,一般设为True
  • 遇到文件结束符再次循环:如果文件执行结束了想重复执行数据,可以设置为True,多次循环。
  • 遇到文件结束符停止线程:配置文件读取完毕之后,就结束当前线程,设为False。
  • 线程共享模式:标示这个CSV数据文件作用范围是:所以线程/当前线程组/当前线程/编辑(自定义)

(八) 添加响应断言tts调用接口右键—>添加—>断言—>响应断言

  • 【响应文本】指返回的文本信息。
  • 【响应代码】指Http响应码,如200、500等。
  • 【响应信息】指的是http的response message。
  • 【响应头】指http响应头信息。

九、添加JSON提取器线程组右键—>添加—>后置处理器—>JSON提取器

 从【tts调用】接口的响应结果中提取“data”数据,需要传给【tts调用结果】接口

(十) 添加HTTP请求(tts调用结果接口):线程组右键—>添加—>取样器—>HTTP请求

路径中的taskid是从【tts调用】接口响应结果中提取的data数据

(十一) 添加固定定时器:tts调用结果接口右键—>添加—>定时器—>固定定时器

【tts调用】接口执行完后需要设置等待时间后,再执行【tts调用结果】接口,不然会失败,一个并发大概需要等待5000毫秒,两个并发大概需要10000毫秒,以此类推

(十二) 添加响应断言:tts调用结果接口右键—>添加—>断言—>响应断言

 判断tts调用结果接口响应文本(message)是否等于“success”

(十四) 添加JSON断言:tts调用结果接口右键—>添加—>断言—>JSON断言

(十四) 添加结果:线程组右键—>添加—>监听器—>查看结果树/聚合报告/汇总报告/用表格查看结果

查看结构树中可以查看接口调用是否成功,接口的请求数据及响应数据

以上是一个完整的配置过程,仅供参考,可以了解这个线程组的建立需要什么信息

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐