当前位置: 首页 > news >正文

Jmeter测试脚本编写技巧

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

JMeter 是一款开源软件,用于进行负责测试、性能测试及功能测试。测试人员可以使用 JMeter 编写测试脚本,模拟多种不同的负载情况,从而评估系统的性能和稳定性。以下是编写​​​​JMeter测试脚本的步骤。

第 1 步:创建测试计划

在JMeter中,测试计划是测试的最高级别,它包含了各种元素和配置,如线程组、断言、监听器等。测试人员需要在JMeter中创建一个新的测试计划,并添加必要的元素和配置。

要创建新的测试计划,请选择: 文件 > 新建 > 填写计划名称。

第 2 步:添加线程组

在测试计划中,测试人员需要添加一个或多个线程组。线程组是测试的基本单位,它定义了测试的并发用户数量、持续时间和其他属性。测试人员需要根据需求设置线程组的属性。

要创建线程组,请右击测试计划并选择: 添加 > 线程(用户) > 线程组。

填写线程组信息。

第 3 步:添加取样器

取样器 是 JMeter 测试的核心组件,它模拟了用户执行的操作。测试人员需要添加一个或多个取样器,并设置它们的属性。常见的取样器类型包括 HTTP 请求、TCP 请求、FTP 请求、JDBC 请求等。

这边以添加 HTTP 请求为例。添加 HTTP 请求,右击线程组并选择:添加 > 取样器 > HTTP 请求。

填写 HTTP 的调用信息。

传过去的数据是 json 格式的,因此要添加头信息:Content-Type:application/json。右击 HTTP 请求并选择:添加 > 配置元件 > HTTP 信息头管理。

添加头信息:Content-Type:application/json。

第 4 步:添加断言

断言是 JMeter 测试中的重要组件,它用于验证服务器的响应是否符合预期。测试人员需要添加一个或多个断言,并设置它们的属性。

JSON 断言允许用户指定 JSON 路径表达式并验证 JSON 响应是否符合该表达式。

响应断言

添加响应断言: 右击接口 > 添加 > 断言 > 响应断言。

对 响应文本中 包含字符串 “Apple” 做断言:

对 HTTP 的响应码 做断言:

JSON 断言

添加 JSON 断言: 右击接口 > 添加 > 断言 > JSON断言。

对接口返回的 total 做断言:

对接口返回的 data 的第 1 项 name 做断言:

上面的 JSON Path 指的是 JSON 路径表达式。表达式由一系列的属性名和数组索引组成:以 “$.” 开头,用“.”和“[]”分隔。例如,以下 JSON 响应:

{ "name": "John", "age": 30, "cars": [ { "name": "Ford", "models": [ "Fiesta", "Focus", "Mustang" ] }, { "name": "BMW", "models": [ "320", "X3", "X5" ] } ] }

可以使用以下表达式获取相应的值:

断言结果

运行用例。如果 响应符合断言,则什么都不会发生。否则,在 结果树监听器 中会看到报错信息。

第 5 步:添加监听器

监听器是 JMeter 测试中的另一个重要组件,它用于收集测试结果并生成报告。测试人员需要添加一个或多个监听器,并设置它们的属性。以下是一些常用的 JMeter 监听器:

添加监听器:请右键单击线程组(或取样器) > 添加 > 监视器 > 具体的监视器。这里以最常用的 “查看结果树” 为例。

第 6 步:运行测试计划,查看报告

测试人员完成测试计划的配置后,可以运行测试计划并收集测试结果。测试人员可以通过监听器生成报告,并根据结果调整测试计划的配置。

等用例运行结束,可以在配置不同的监视器中看到对应的结果。

查看结果树:

汇总报告:

图形结果:

以上是JMeter测试脚本编写的基本步骤。测试人员需要根据具体需求和场景,灵活运用JMeter的各种功能和组件,编写高效、准确的测试脚本。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

http://www.jsqmd.com/news/279239/

相关文章:

  • 如何使用Pytest进行测试?
  • 说说2026年口碑不错的企业AI培训公司,广州量剑数智值得关注
  • PyTorch环境配置太复杂?一键部署镜像提效实战
  • MCP协议赋能AI实时决策(打破数据延迟壁垒)
  • PyTorch镜像支持A800吗?CUDA 12.1适配性实战验证
  • 620-0041C处理器电源模块
  • dify接入企业微信群聊机器人详细步骤(从零到上线全记录)
  • 揭秘Claude Desktop无法识别MCP Server路径:3步快速定位配置陷阱
  • Live Avatar企业培训:内部团队部署培训教程
  • 如何高效查找国外的文献:实用方法与技巧指南
  • Qwen语音版来了?CAM++中文声纹识别专项评测
  • cv_unet_image-matting WebUI界面颜色能改吗?二次开发入门必看
  • AI驱动安全分析平台的迁移激励计划
  • 中小企业AI转型必看:YOLOv11低成本部署实战案例
  • 「PPG/EDA信号处理——(8)基于 PPG 和 EDA 的情绪刺激响应分析研究」2026年1月21日
  • Z-Image-Turbo一文详解:从安装到生成图片完整流程
  • Qwen3-Embedding-0.6B与BAAI对比:中文文本分类任务评测
  • Quill富文本编辑器HTML导出功能存在XSS漏洞分析
  • 620-0036电源模块
  • YOLOv9 vs YOLOv8实战对比:GPU算力利用率全面评测
  • 05. inline
  • 【Dify环境变量安全实战】:揭秘密钥文件备份的5大黄金法则
  • 2026本科生必备10个降AI率工具测评榜单
  • linux OOM Killer 深度监控:进程、cgroup 和 namespace 配置
  • 5个FSMN VAD部署推荐:镜像免配置一键启动教程
  • 技术实战:用 Python 脚本高效采集与分析手机操作日志
  • 多模态医学数据治理通过标准化整合、安全合规共享与智能分析,打通数据孤岛,为精准医疗、药物研发
  • 2026年研磨仪厂家推荐:组织研磨仪品牌+优质厂家+仪器选购全指南
  • 互联网大厂Java求职面试实战:从Spring Boot到微服务
  • 淋巴造血系统肿瘤MICM(形态学Morphology、免疫学Immunology、细胞遗传学Cytogenetics、分子生物学Molecular Biology)高质量数据集构建