news 2026/6/14 13:37:48

Jmeter测试实践:文件下载接口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jmeter测试实践:文件下载接口

一 Jmeter步骤

1.打开jmeter4.0,新建测试计划,添加线程组。根据实际情况配置线程属性。

2.添加HTTP请求。根据接口文档进行配置。

Basic部分修改如下,Advanced部分保持默认。这里的参数id是文件的id,我进行了参数化,方便下载多个不同的文件。

3.添加CSV数据文件设置。

4.在HTTP请求下面添加BeanShell PostProcessor。强调一下,由于jmeter本身是不支持将文件保存到本地的,这里需要写一点java代码。

import java.io.*; byte[] result = prev.getResponseData(); String file_name = "D:/download-files/${filename}-${index}.${fextension}"; File file = new File(file_name); FileOutputStream out = new FileOutputStream(file); out.write(result); out.close();

5.添加计数器。目的是区分每次下载的文件。

6.可以在HTTP请求下面添加响应断言和断言结果。

7.添加集合点(Synchronizing Timer)。

8.添加监听器。包括查看结果树、聚合报告(可配置将数据写入一个文件test.jtl)、图形结果、每秒事务数(jp@gc - Transactions per Second)、每秒点击数(jp@gc - Hits per Second)、jp@gc - PerfMon Metrics Collector等。

二 文件下载接口测试总结

1.最好自己搭建测试环境,如果条件不够,只能使用开发搭建的测试环境的话,一定要问清楚测试环境的软硬件配置。比如说负载机与应用服务器是否在同一个局域网(如果跨局域网的话,会经过路由器,可能会有网络瓶颈)?操作系统是Windows还是Linux?被测机器是物理机还是虚拟机?是否使用磁盘阵列等等。

2.win+R运行,输入dxdiag,可查看计算机名,操作系统,系统型号,处理器,内存大小。

3.本次测试由于应用服务器不给开放端口,所以无法使用Jmeter自带的性能监控插件,只能使用Windows自带的perfmon远程监控硬件性能。

4.计数器:使每次下载文件命名不同,方便区分。

5.后置处理器:添加一段java代码,将文件下载到本地。

6.由于jmeter返回的是字节流,当数据量太大时,会发现jmeter完全卡住,为了防止这种情况发生,可以在查看结果树勾选仅日志错误,让其不显示,提高性能。

7.测试文件下载接口,jmeter返回的是字节流,怎么判断服务器有没有完全返回?response header头里面有一个content-lenth,添加断言,可判断文件是否下载完整。

8.下载的文件大小不超过10M?应该是jmeter的配置问题,具体没弄清楚原因,重新下载一个jmeter就好了。

9.报错java.lang.OutOfMemoryError: Java heap space?解决方式:jmeter报错:内存溢出

10.CSV参数配置文件中千万不要出现空行!因为jmeter会报错:响应数据HTTP Status 500 & 后台日志Typed variable declaration : Object constructor

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和软件测试自学站,这些资料希望能给你前进的路上带来帮助。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 23:00:08

物流路径实时调度:应对突发路况的重新规划能力

物流路径实时调度:应对突发路况的重新规划能力 在城市物流网络日益复杂的今天,一次突如其来的道路封闭、一场暴雨引发的交通瘫痪,都可能让整个配送系统陷入混乱。传统的路径规划系统往往依赖预设路线和静态算法,在面对动态干扰时反…

作者头像 李华
网站建设 2026/6/13 4:37:05

Cowabunga Lite终极指南:无需越狱的iOS深度定制完整教程

Cowabunga Lite终极指南:无需越狱的iOS深度定制完整教程 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite 你是否厌倦了千篇一律的iOS界面?想要个性化你的iPhone却又担心…

作者头像 李华
网站建设 2026/6/13 11:16:14

5分钟掌握围棋AI分析神器LizzieYzy:从入门到精通的完整指南

5分钟掌握围棋AI分析神器LizzieYzy:从入门到精通的完整指南 【免费下载链接】lizzieyzy LizzieYzy - GUI for Game of Go 项目地址: https://gitcode.com/gh_mirrors/li/lizzieyzy 你是否曾对复杂的围棋局面感到困惑?是否想知道顶尖AI如何评估每一…

作者头像 李华
网站建设 2026/6/12 22:50:57

罗技鼠标宏压枪脚本实战指南:从零配置到精通应用

罗技鼠标宏压枪脚本实战指南:从零配置到精通应用 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 你是否在绝地求生的激烈对战中&…

作者头像 李华
网站建设 2026/6/13 23:46:34

城市热岛效应缓解:绿地与建筑布局优化建议

VibeThinker-1.5B-APP:小参数高推理效能的语言模型技术解析 在AI大模型竞赛愈演愈烈的今天,千亿级参数、万亿级训练语料似乎成了“高性能”的代名词。然而,当整个行业将目光投向算力军备竞赛时,一款仅15亿参数的轻量级模型——Vi…

作者头像 李华
网站建设 2026/6/13 13:37:48

智能配置指南:5分钟掌握罗技PUBG鼠标宏核心功能

智能配置指南:5分钟掌握罗技PUBG鼠标宏核心功能 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为绝地求生中的后坐力控制烦恼吗…

作者头像 李华