安装部署
mac上安装有两种方式:
- 下载官方包本地安装
进入JMeter的下载地址页面,有两个版本可供下载:- Binaries:二进制版,即已经编译好、可直接执行(推荐);
- Source:源代码版,需要自己编译;
下载完成后解压包,进入解压目录下的bin目录,执行sh jmeter
启动Jmeter
- 使用brew 命令下载
下载:
$ brew install jmeter
运行Jmeter
$ sh /usr/local/bin/jmeter
Jmeter启动后如图
Don't use GUI mode for load testing:这是一段提示信息,不要使用GUI模式进行负载测试,要使用NON GUI模式
脚本录制
官方默认为我们提供了简体中文。通过 【Options】->【Choose Language】变更为简体中文
-
添加代理服务器
创建一个线程组(可选)
右键点击“测试计划”—>"添加"—>“线程组”-
创建录制控制器(可选)
右键点击“线程组”—>"添加"—>“逻辑控制器”-->”录制控制器“
该步目的是创建一个类似分组的东西,将下面录制的脚步统一放到一起,统一管理
-
设置录制配置
注意端口号不要与主机已占有端口冲突,HTTP代理服务器会记录通过改端口的Web请求。目标控制器为存放录制脚本的位置(根据实际来选择即可,这里使用步骤3创建的录制控制器)。
代理服务器过滤资源
通过代理服务器的包含模式,可以选择录制的URL范围,及记录的资源类型;另外排除模式,可以排除一些不需要的请求信息,如css、gif、png等等。
通常很多网站渲染文件都是不需要的,过滤 .*\.(js|css|PNG|jpg|ico|png|gif).*
-
浏览器设置代理
系统偏好配置-网络-高级-代理
选择网页代理,设置代理服务器为本机,端口号与HTTP代理服务器一致。
-
录制脚本
在浏览器中操作需要录制的网页,Jmeter自动生成web脚本
-
调试脚本
添加查看结构树,右键点击"线程组"—>"监听器"—>"察看结果树"
点击启动按钮,在结果树中查看脚本是否执行成功
其他问题:
录制过程中,出现界面提示"您的连接不是私密连接"
解决方案:Jmeter需要更新crt证书,重新录制
证书位置:Jmeter安装目录/bin/ApacheJMeterTemporaryRootCA.crt-
mac上Jmeter录制失败,访问页面提示:
org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:8888 [/127.0.0.1] failed: Connection refused (Connection refused) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156)
解决方案:Jmeter代理服务器domain配置可以与被记录web通信的本机IP