本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/29826
一,JMeternal安装运行
下载地址:
- 官网: https://jmeter.apache.org/
- binary 可运行文件包
- 官网下载路径 :首页 → Download → binaries
安装:
- 将zip包导入linux,进行解压,解压命令:unzip package
- windows安装教程: https://ceshiren.com/t/topic/24709/1
运行:
-
运行环境要求:java运行时环境
-
运行方法:命令行直接启动 $jmeter_home/bin/jmeter.sh
- cd jmeter_home/bin (进入就meter的bin目录)
- sh jmeter.sh
-
常规的菜单功能:新建、保存、查询、配置、帮助 等
-
压测运行相关:开始运行、停止运行、远程运行、停止远程运行 等
-
设定外观长相更改
-
配置语言,不过建议用英语(个人体会中文翻译的有点晕)
-
Demo – JMeter 界面操作、外观、语言
二,使用代理服务器录制请求
2.1 web端录制压测脚本方法
(1)打开 JMeter ,新建压测脚本,添加 “HTTP(S) Test Script Recorder”
* 路径:在Test plan上点击右键 —— add —— Non-Test Elements ——HTTP(S) Test Script Recoder
(2)添加“Thread Group”
* 路径:Add —— Threads(Users) ——Thread Group
(3) 在Thread Group中添加“Recording Controller”
* 路径:在Thread Group点击右键 ——Add _Logic Controller _添加Recording Controller
(4) 打开 HTTP(S) Test Script Recorder
- 设定 Port = 8888(可以自己定义),设定 Target Controller = Test Plan > Tread Group > Recording Controller
-
在 Requests Filtering 添加“include”与 “Exclude”URL 正则匹配表达式
- 目的:避免录制过多没必要的请求
- Include: . .(http://baidu.com).
- Exclude:. .(js|css|PNG|jpg|ico|png|gif).
-
关于链接过滤的几点说明
- exclude 去掉一些诸如图片、js、css 等静态请求,这些静态资源一般会单独存放,不会占用服务器运算资源,所以压测的时候可以不测试这些资源
- include 包含内容,只抓取百度URL的内容,不抓其他的网站的内容
- 正则表达试匹配原理快速入门说明见下页图片说明
- 单击保存按钮,命名文件名,将对 JMeter 脚本的更改存储到磁盘
(5) 打开浏览器,将浏览器的代理服务器地址指向 http://localhost:8888
(6)单击HTTP(S) Test Script Recorder中的Start按钮,打开代理;单击弹框中的确定按钮,JMeter的录制代理将会开启
(7)开始录制
- 在对应的浏览器中访问百度首页
- 进入百度新闻站点
- 停止JMeter的代理服务
- 可以看到对应的请求已被录制到JMeter中了
(8)回放验证
-
添加 View Results Tree
- 路径:在Thread Group点击右键 ——Add ——Listener —— View Results Tree
- View Result Tree 的用途:看Req /Resp 详情
- 在Thread Group 配置并发数和循环次数,点击开始运行按钮
- 在 View Result Tree 中检查 请求/响应 是否都成功了