目录
一、Jmeter简介
1、什么是Jmeter
2、Jmeter高扩展性
3、Jmeter优点
4、Jmeter缺点
二、Jmeter安装与配置
第一步:JMeter下载安装
JMeter下载完成后,直接解压apache-jmeter-5.4.1.rarJMeter下载地址:http://jmeter.apache.org
第二步:JDK安装与配置
第三步:JMeter环境变量配置
第四步(可选):JMeter的JVM配置
三、Jmeter插件安装
1、插件下载地址:http://jmeter-plugins.org/downloads/all/
2、将jmeter-plugins-manager.jar包放到apache-JMeter\lib\ext目录下后,重启JMeter
3、重启JMeter后,打开插件管理器“Options(选项)->PluginsManager”
4、在插件管理器页面,点“Available Plugins”标签页面,勾选所需要安装的插件,点击“Apply Changes and Restart JMeter”的按钮安装
四、常用的Jmeter插件
1、用于服务器性能监视:PerfMon Metrics Collector
2、用于建立压力变化模型:Stepping Thread Group
3、用于展示响应时间RT曲线:Response Times Over Time
4、用于展示TPS曲线:Transactions per Second
五.JMeter 分布式部署前需要确认的事项如下:
1、生成密钥
2、设置不启动SSL修改jmeter.properties文件下server.rmi.ssl.disable=true
3、设置代理机的IP与端口修改jmeter.properties文件下Remote_hosts,server_port
4、代理机启动bin目录下执行jmeter-server.bat
5、主机远程启动Run->Remote,选择代理机
六.Badboy录制jmx脚本
1、Badboy介绍
2、Badboy录制脚本
第一步:下载安装 badboy
第二步:录制脚本
第三步:回放脚本点击“Play All”进行回归放
第四步:导出 jmx 格式脚本点击File->Export to jmeter,即可导出.jmx格式脚本
第五步: JMeter 图形页面打开 Badboy 的脚本同普通的JMeter脚本一样打开“File->Open”
3、Badboy设置并发线程数、参数化、断言
七、添加测试计划
2、User Defined Variables
2.1、添加用户定义变量
2.2、TestPlan 中添加变量
3、 添加 HTTP Cookie Manager
3.1、设置自动管理Cookie,此步骤可选HTTP Cookie Manager:像浏览器一样的存储和发送Cookie,Cookie主要管理策略如下:
3.2、手动管理Cookie,此步骤可选
4、 添加 HTTP Header Manager
5、 添加 HTTP 请求默认值
6、 添加线程组 Thread Group
7、 添加录制控制器
8、 代理服务器添加与设置
9、设置浏览器代理
10、 启动代理录制
11、Jmeter常用监控统计组件
JMeter4.0~5.4.1 版本,支持 JDK1.8 以上版本
JDK1.8下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
JDK环境变量配置:
1、JAVA_HOME:D:\Program Files (x86)\Java\jdk1.8.0_121(jdk安装在哪个盘就写哪个路径)
2、Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
3、Classpath:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
打开cmd,运行java –version,能得到下面的输出就表示配置正确了
1、 JMETER_HOME:D:\soft\apache-jmeter-5.4.1
2、 CLASSPATH:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
3、 Path:%JMETER_HOME%\bin
安装过程到此结束
其他平台安装 Jmeter:
与Windows平台方法相同,除了启动文件不同,例如linux平台下为/bin/jmeter.sh
jmeter.bat/sh是JMeter的主运行程序,我们通过这个程序来启动JMeter。这个文件可以被编辑。JVM参数:(HEAP、PermSize,注: 堆内存与非堆内存 之和不要超过物理内存的 50%)
if not defined HEAP ( rem See the unix startup file for the rationale of the following parameters, rem including some tuning recommendations set HEAP=-Xms1024m -Xmx3072m set NEW=-XX:NewSize=512m -XX:MaxNewSize=1024m )
JMeter 可以单机部署,也支持分布式部署
JMeter 分布式部署步骤如下:
执行create-rmi-keystore.bat,按提示生成密钥,会在bin目录下生成一个rmi_keystore.jks文件。
Badboy与LoadRunner、Jmeter一样,可以进行参数化,可以设置断言,也可以进行脚本调试,并且可以设置线程数进行性能测试,生成一个简单的测试报告。
badboy下载地址:https://badboy.en.softonic.com/
下载完后,双击“BadboyInstaller-2.2.5.exe”文件,一路点下一步,直到完成安装
打开已经安装好的Badboy,录制步骤:点击录制(record on/off)->输入测试地址,执行回车,录制完成后,再次点(record on/off),结束录制
脚本录制完成如下图所示
一般情况下,录制完成脚本后,首先要做的就是删除不需要的信息,在Badboy或JMeter中直接手工删除即可
JMeter代理录制脚本的过程
window下,点击“jmeter.bat”,打开JMeter图形页面,默认生成一个新的测试计划(Test Plan)。或者JMeter图形页面下,点击“File->New”,新建一个测试计划。如下图所示
(添加配置元件的User Defined Variables),此步骤可选
添加用户定义变量:测试计划( Test Plan )右健 ->Add->Config Element->User Defined Variables
如下图:访问服务器地址、应用端口、传输协议、一些固定值的变量等
添加用户定义变量(在测试计划中直接添加用户定义变量),此步骤可选
添加用户定义变量:点击 “ 测试计划( Test Plan ) ”直接打开,如下图:访问服务器地址、应用端口、传输协议、一些固定值的变量等
①设置JMeter自动保存到线程变量中
修改jmeter.properties文件中的"CookieManager.save.cookies=true"。注:JMeter2.3.2版本后不自动
储存Cookie的值,jmeter.properties文件在“JMETER_HOME\bin”目录下:
# CookieManager behaviour - should Cookies be stored as variables?
# Default is false
#CookieManager.save.cookies=false
#修改为
CookieManager.save.cookies=true
②手动添加Cookie:添加Cookie到HTTP Cookie Manager,Cookie的值被会所有线程共享
浏览器中使用F12-开发者工具抓包获取请求cookie名称、cookie的Value值、域名、路径
HTTP信息头管理,此步骤可选
HTTP Header Manager:HTTP消息头用来准确描述正在获取的资源、服务器或者客户端的行为,定义了HTTP事务中的具体操作参数。
常用的消息头如下:
添加HTTP默认请求,主要是设置HTTP请求使用默认值,此步骤可选。
添加 HTTP Request Defaults :测试计划( Test Plan )右健 ->Add->Config Element->HTTP Request Defaults
录制脚本过程中,Thread Group保留默认值即可,后期脚本优化开发过程中再根据需要修改各参数进行调试。
添加录制控制器Recording Controller,可选
添加HTTP代理服务器,与相关设置
添加代理服务器:右键Test Plan->Add->非测试元件->HTTP(S) Test Script Recorder
HTTP代理服务器设置
设置HTTP代理服务器的端口8888(默认8888),设置浏览器代理(地址:127.0.0.1,端口:8888,端口必须一致且不被占用)
点击“start”启动代理录制,浏览器中输入测试系统地址开始录制脚本。脚本录制完成后,点击“stop”停止脚本录制。
注意:代理录制完成后,记得取消浏览器代理,否则无法上网。
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号913569736(备注“csdn000”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。