【测试工具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运行的关键配置。这里列举了一下这个文件的关键配置如下:

javascript 复制代码
#默认语言设置

      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里面去
  • 输出的控制报告的显示时间如下:
相关推荐
无敌糖果1 小时前
Python+Selenium无头浏览器实现网页截图
chrome·爬虫·selenium·测试工具
测试老哥3 小时前
基于Pytest接口自动化的requests模块项目实战以及接口关联方法
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
API快乐传递者3 小时前
Selenium和Pyppeteer有什么区别?
selenium·测试工具
csdn_金手指3 小时前
Jmeter的组件执行顺序
jmeter
土小帽软件测试4 小时前
jmeter基础06_(练习)常见的http请求
测试工具·jmeter·软件测试学习
惜.己4 小时前
Jmeter中的前置处理器
测试工具·jmeter·1024程序员节
csdn_金手指4 小时前
MacOS系统上Jmeter 录制脚本遇到的证书坑位
jmeter·macos
小码哥说测试5 小时前
python excel接口自动化测试框架!
自动化测试·软件测试·python·测试工具·测试用例·pytest·postman
谢小涛5 小时前
如何从postman中导出所有集合Collection
测试工具·postman·collection·导出collection·导出所有集合