Jmeter系列(1)- 环境部署、Jmeter的详细介绍、 Jmeter安装目录介绍、Jmeter面板介绍、jmeter.properties常用配置项讲解

环境部署

官网下载Jmeter

http://jmeter.apache.org/下载最新版本的 JMeter,解压文件到任意目录

安装JDK,配置Java环境 【直接上环境变量配置】【mac的】

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/

CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$JAVA_HOME/bin:$PATH:

export JAVA_HOME

export CLASSPATH

export PATH

注意:应该避免JDK安装路径,Jmeter路径有中文和空格

 配置Jmeter环境变量【mac的】

export JMETER_HOME=/Users/ww/Downloads/apache-jmeter-5.5
export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar

检查Jmeter配置是否成功

Jmeter的详细介绍

Jmeter支持哪些测试场景?

Jmeter能够对许多不同的应用程序/服务器/协议类型进行负载测试和性能测试

  1. Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
  2. SOAP / REST Webservices
  3. FTP
  4. 通过JDBC连接数据库(支持各种数据库)
  5. LDAP
  6. 通过JMS的面向消息的中间件(MOM)
  7. 邮箱协议 - SMTP(S), POP3(S) and IMAP(S)
  8. 本机命令或Shell脚本
  9. TCP
  10. Java Objects

Jmeter有哪些特征?

  • 功能齐全的测试编辑界面,允许快速记录测试计划(来自浏览器或本机应用程序),构建和调试 【HTTP代理服务器,类似抓包】
  • 命令行模式,可以在任何装了Java环境的系统(win、linux、mac)上进行测试【移植性好】
  • 提供完整且随时可查看的HTML报告
  • 可以在大多数流行的响应格式(HTML、JSON、XML或任何文本格式)中提取数据,实现关联【常说的数据关联】
  • 多线程框架允许通过多个线程进行并发采样,并通过单独的线程组同时对不同的方法进行采样。
  • 可以对测试结果进行缓存和离线分析、离线重放

Jmetert的扩展性体现在哪里?

  • 脚本化的采样器【BeanShell、Groovy】
  • 随意增删的采样器
  • 负载统计信息可以增删定时器
  • 数据分析和可视化插件提供了出色的扩展性和个性化
  • jmeter自带方法可以向测试计划提供动态输入或数据处理能力
  • 通过针对Maven,Gradle和Jenkins的第三方开源库轻松进行持续集成。

Jmeter实际使用场景

  • 接口测试
  • 压力测试
  • 分布式压力测试
  • 测试 Restful 风格的API

Jmeter安装目录介绍

Jmeter安装目录说明

mac

win

bin
  • 包含启动、配置等相关命令
  • 自己写的脚本默认另存为该目录下
docs 官方接口文档,二次开发需要了解的一些接口
extras 辅助库,持续集成会用到(后面讲)
lib
  • 存放各种 Jmeter 核心库的源码 jar 包
  • 存放自己二次开发的 jar包
lib\ext 官方提供的第三方插件
license 包含 non-ASF 软件的许可证
printable_docs 离线的帮助文档,可以查看函数等内容
LICENSE JMeter 许可说明
NOTICE JMeter 简单信息说明
README.md JMeter 官方基本介绍

重点看看bin目录

 

文件 作用
jmeter.properties JMeter 核心配置文件,各种配置基本在这完成
log4j.conf JMeter 日志配置管理
jmeter.log JMeter 运行日志记录,什么输出信息、警告、报错都在这里进行了记录
jmeter.bat windows 下 jmeter 的启动文件,cmd窗口
jmeterw.cmd windows 下 jmeter 的启动文件,不带cmd窗口
shutdown.cmd windows 下 jmeter 的关闭文件
stoptest.cmd windows 下 jmeter 停止测试的文件
jmeter-server.bat windows 下 jmeter 服务器模式的启动文件
jmeter-server mac 或者 Liunx 分布式压测使用的启动文件

Jmeter面板介绍【重要哦】

Jmeter面板介绍

讲一下常用的菜单栏

分布式运行相关的,后面再展开讲解哦

选项,可以打开日志,修改语言,还有管理插件哦!

 工具,主要看函数助手

 再讲下,常用的图标

 从左往右依次是

  • 新建测试计划
  • 选择测试计划模板创建一个新的测试计划
  • 打开jmeter脚本
  • 保存jmeter脚本
  • 剪切
  • 复制(鸡肋,不如ctrl+c)
  • 粘贴
  • 展开目录树
  • 收起目录树
  • 禁用或启用元件
  • 本机开始运行当前测试计划
  • 立即开始在本机运行当前测试计划
  • 停止
  • 关闭
  • 清除
  • 清除全部
  • 查找
  • 清除查找
  • 函数助手对话框
  • 帮助

查看日志

  • 如果是黄色感叹号则是正常的,如果是红色数字的代表有问题【显示的数字是多少呢,warnings/errors 数量就是多少】
  • 点击可以查看日志【这个日志是Jmeter工具使用加载信息的日志,并不是测试脚本运行的日志】

查看错误报告

jmeter会在 jmeter.log 文件中记录warn和error信息,而 jmeter.log 在bin目录下

关键点

  • 倘若测试脚本的执行结果并不是你想要的,可以尝试在 jmeter.log 中找一找,比如:调用函数但语法错误
  • 当然,Sampler的错误结果一般是不会记录到 jmeter.log ,比如:请求404

jmeter.properties【在本章节bin中说过了】【具体可以看这个】

jmeter安装目录下的bin目录

是Jmeter核心配置项文件

官方建议

将需要修改的属性值,复制粘贴到同目录下的 user.properties 

好处:当Jmeter升级时,可以避免修改项需要重新应用

常用的配置

官方文档:Apache JMeter - User's Manual: Properties Reference

默认语言设置

  • language=en:默认英文
  • language=zh_CN:默认中文

注意:这个只有在 jmeter.properties 文件中声明才会生效,官方也提醒了

配置默认编码格式

  • sampleresult.default.encoding=ISO-8859-1:默认ISO-8859-1
  • sampleresult.default.encoding=UTF-8:可以改成常用的UTF-8

输出测试报告模板格式 

jmeter.save.saveservice.output_format=csv

捕捉cookie

Cookies应该存储为变量

CookieManager.save.cookies=false:默认

CookieManager.save.cookies=true:将cookie存储为变量

快捷方式(ctrl+数字0-9)

  • gui.quick_0=ThreadGroupGui
  • gui.quick_1=HttpTestSampleGui
  • gui.quick_2=RegexExtractorGui
  • gui.quick_3=AssertionGui
  • gui.quick_4=ConstantTimerGui
  • gui.quick_5=TestActionGui
  • gui.quick_6=JSR223PostProcessor
  • gui.quick_7=JSR223PreProcessor
  • gui.quick_8=DebugSampler
  • gui.quick_9=ViewResultsFullVisualizer

post请求,若不添加Content-Type,则不会默认添加Content-type

在5.0版本之前默认是true

post_add_content_type_if_missing=false:默认

post_add_content_type_if_missing=true:添加Content-Type: application/x-www-form-urlencoded

配置远程主机 host 

remote_hosts=127.0.0.1

猜你喜欢

转载自blog.csdn.net/qq_41663420/article/details/129841445