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

【测试工具JMeter篇】JMeter性能测试入门级教程(二)出炉,测试君请各位收藏了!!!

上篇文章:CSDN

我们介绍了JMeter的一些原理介绍,以及安装配置和启动流程,本文我们就来讲讲JMeter如何使用。

一、JMeter目录结构组成

1. 根目录

Jmeter安装包解压后的根目录如下图:

  • 1.1 backups目录:脚本备份目录,里边的文件都是以.jmx后缀结尾的文件

  实际开始安装解压后是不存在这个目录的,这个是使用过JMeter后,JMete会r自动创建这个目录,然后备份脚本文件。

  • bin目录 可执行文件目录

        Jmeter主要的一些执行文件都放在该目录下。

  • docs目录

  docs目录下的文件是JMeter的Java Docs,而printable_docs的usermanual子目录下的内容是JMeter的用户手册文档,其中component_reference.html是最常用到的核心元件帮助文档。该目录下存放的是jmeter官方文档的API文档,主要是用于二次开发。

  • extras目录

  该目录下的文件提供了对构建工具Ant的支持,可以使用Ant来实现测试自动化,例如批量脚本执行,产生HTML格式的报表,测试运行时,可以把测试数据记录下来,Jmeter会自动生成一个.jtl文件,将该文件放到extras目录下,运行“ant -Dtest=文件名 report”,就可以生成测试统计报表。也可以用于持续集成。

  • lib目录

  该目录包含两个子目录,其中ext子目录存放有JMeter的核心jar包,另一个junit子目录存放JUnit测试脚本。用户扩展所依赖的包,应该直接放到lib目录下,而非lib/ext下。

注意:无法识别 zip 格式的包文件,所以需要的包文件均要求以 .jar 结尾

  • Licenses 软件许可文件目录

  • printable_docs目录

  该目录存放的是jmeter官方提供的帮助文档。printable_docs的demos子目录下有一些常用的JMeter脚本案例,可以作为参考。可打印半版本目录。

  • Project 这个文件夹是本人手动创建的,诸君目录下肯定是没有的,不需要深究哈,就是用来存放我们生成的脚本的

  • LICENSE ——许可说明

  • NOTICE ——简单信息说明

  • README.md ——JMeter 官方基本介绍

2. 子目录详细介绍

  • backups子目录

  • bin子目录(这里主要介绍几个常用的)

        examples:目录下包含Jmeter使用实例,打开里面是一个csv样例

        ApacheJMeter.jar:JMeter源码包

        jmeter.bat:windows的启动文件

        jmeter.log:Jmeter运行日志文件

        jmeter.sh:linux的启动文件

        jmeter.properties:系统配置文件

        jmeter-server.bat:windows分布式测试要用到的服务器,启动负载生成器服务文件

        jmeter-server:Linux下启动负载生成器文件

        shutdown.cmd windows 下 jmeter 关闭文件

        stoptest.cmd windows 下 jmeter 测试停止文件

  • docs子目录

        主要是api文件以及css和图像样式

  • extras子目录

  • lib子目录(这个子目录下面主要是一些jar包)

二、JMeter主要配置文件

1. jmeter.properties配置文件

jmeter.properties,定义jmeter运行的关键配置。这里列举了一下这个文件的关键配置如下:

#默认语言设置

      language=en

#捕捉cookie开关

      CookieManager.save.cookies=true

#配置编辑器的字体和尺寸

     jsyntaxtextarea.font.family=宋体

     jsyntaxtextarea.font.size=20

#配置默认编码格式

     sampleresult.default.encoding=UTF-8

#SSL 配置:重点关注下面几个配置# 指定 HTTPS 协议层  
   # 指定 HTTPS 协议层
   https.default.protocol=TLS
   # 指定 SSL 版本,实际应用中可能需要修改
   https.default.protocol=SSLv3
   # 设置启动的协议
   https.socket.protocols=SSLv2Hello SSLv3 TLSv1
   # 缓存控制,控制 SSL 是否可以在多个迭代中重用
   https.use.cached.ssl.context=true

#JMeter 测试项目自动备份配置
   # 设置是否启用自动备份,默认是 true
   jmeter.gui.action.save.backup_on_save=true
   # 设置自动备份目录,默认备份至 JMeter 根目录的 backups下
   jmeter.gui.action.save.backup_directory=
   # 设置自动备份项目数,默认为最近 10 个
   jmeter.gui.action.save.keep_backup_max_count=10

#远程主机配置
  # 配置远程主机的 IP,默认为本机。用逗号","可以设置多个远程主机
  remote_hosts=127.0.0.1
  # 多个远程主机指定示例如下,其中:后为端口
  remote_hosts=127.0.0.1:1099,127.0.0.1:1200,127.0.0.1:1300
  对于 RMID 的配置请直接看配置文件中的选项说明

#日志管理配置
  # 设置日志格式
  log_format_type=default
  # 设置日志输出级别
  log_level.jmeter=INFO
  # 设置 junit 日志输出级别
  log_level.jmeter.junit=DEBUG
  # 设置日志输出目标文件,默认为 jmeter.log
  log_file=jmeter.log

# jmeter.bat 关键配置修改
#为了更优化的使用 jmeter,需要对 jmeter.bat 中的一些配置根据当前机器的配置进行优化,这里进行关键配置项说明,大家根据自己的机器的配置来进行修改。jvm 相关配置,大概在 80 行左右,找到这些配置,对其中的数值根据当前机器的硬件配置来修改。
  set HEAP=-Xms2048m -Xmx2048m
  set NEW=-XX:NewSize=512m -XX:MaxNewSize=512m
  set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
  set TENURING=-XX:MaxTenuringThreshold=2
  if %current_minor% LEQ "8" (
  rem Increase MaxPermSize if you use a lot of Javascript in your Test Plan :
  set PERM=-XX:PermSize=512m -XX:MaxPermSize=1024m)

# 设置输出报告模板格式

     jmeter.save.saveservice.output_format = csv

2. system.properties配置文件

system.properties,定义Java进程的系统变量,通过System.getProperties()可查询。

3. user.properties配置文件

user.properties,自定义配置,可覆盖jmeter.properties。

4. 拓展

  • 配置文件可能存在优先级关系,好像user.properties会覆盖jmeter.properties,一般修改配置都是修改或者添加user.properties,不建议修改jmeter.properties
  • 通过修改reportgenerator.properties的下面配置,可以减少采样时间,增加采样精度。生成的报告的其他内容也可以在这里修改。当然,建议这些修改,都放到user.properties里面去

  • 修改jmeter.properties里的这些配置,可以控制报告DashBoard的显示时间,建议这些配置放到user.properties里面去

  • 输出的控制报告的显示时间如下:


http://www.kler.cn/a/409591.html

相关文章:

  • Web3 游戏周报(11.17 - 11.23)
  • DICOM图像深入解析:为何部分DR/CR图像默认显示为反色?
  • JavaScript将至
  • MyBatis基本使用
  • leetcode 面试150之 156.LUR 缓存
  • 标贝科技大模型声音复刻 快速获取高品质专属AI声音
  • 《用 Python 和 Tkinter 打造惊喜弹窗小应用教程》
  • 【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
  • 【青牛科技】D3308 一块带有 ALC 的双通道前置放大器。它适用于立体声收录机和盒式录音机。
  • 小米C++ 面试题及参考答案下(120道面试题覆盖各种类型八股文)
  • 对象的大小
  • Paddle Inference部署推理(十二)
  • Flink Standalone 集群模式安装部署教程
  • 「Mac玩转仓颉内测版32」基础篇12 - Cangjie中的变量操作与类型管理
  • FileLink内外网文件共享系统与FTP对比:高效、安全的文件传输新选择
  • Js-对象-04-String
  • Leetcode 3366. Minimum Array Sum
  • 基于Vue+SpringBoot的考研学习分享平台设计与实现
  • 在Elasticsearch中,是怎么根据一个词找到对应的倒排索引的?
  • 使用JavaScript操作页面元素
  • Spring Boot整合Redis Stack构建本地向量数据库相似性查询
  • leetcode_160_相交链表
  • 微表情识别系统
  • 基于springboot的来访管理系统的设计与实现
  • H.265流媒体播放器EasyPlayer.js无插件H5播放器关于移动端(H5)切换网络的时候,播放器会触发什么事件
  • 【JSON】package.json与package-lock.json