文章目录
- 一、准备工作
- 二、原生录制方式——HTTP
- 2.1、设计说明
- 2.2、测试计划设计
- 三、原生录制方式——HTTPS
- 3.1、设计说明
- 3.2、测试计划设计
- 四、HTTP代理服务器主要参数说明
- 4.1、目标控制器
- 4.2、分组:在组间添加分割
- 4.3、分组:每个组放入一个新的控制器
- 4.4、分组:只存储每个组的第一个样本
- 4.5、分组:将每个组放入一个新的事务控制器中
- 4.6、记录HTTP信息头
- 4.7、Naming scheme:Transaction name
一、准备工作
慕慕生鲜: http://111.231.103.117/#/login
二、原生录制方式——HTTP
2.1、设计说明
-
新建一个 HTTP请求默认值(HTTP Request Defaults) 设置好协议、IP、端口号
-
Jmeter 当中添加 HTTP代理服务器
-
启动代理服务器,并将浏览器的设置为代理上网,代理地址为:127.0.0.1:8888,端口与上述(HTTP代理服务器)保持一致
-
打开浏览器开始录制脚本
2.2、测试计划设计
(1)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP请求默认值
-
协议:http
-
服务器名称或IP:111.231.103.117
-
端口:8083
-
内容编码:utf-8
-
高级中可以设置超时(毫秒),连接:5000;响应:1000
(2)、测试计划右键 <<< 添加 <<< 非测试元件 <<< HTTP代理服务器
Recording's default encoding:utf-8;设置编码格式,如果 url 路径中存在中文参数是,未设置会出现乱码
- 目标控制器:测试计划 > HTTP代理服务器
(3)、点击启动,弹窗点击OK,页面会弹出一个事务控制:Recorder: Transactions Control
(4)、网页打开设置,搜索代理,点击打开计算机的代理设置,设置完毕后记得点保存
-开启使用代理服务器
-地址:127.0.0.1
-端口:8888(和 HTTP代理服务器中的端口保持一致,且不能被占用)
(5)、网页输入网址进入:http://111.231.103.117/#/login,输入账户和密码,点击登录
(6)、录制完毕后,点击停止
(7)、回到 Jmeter,可以看到,HTTP代理服务器下有全部 http链接信息,后续就可以对脚本进行优化
三、原生录制方式——HTTPS
3.1、设计说明
-
新建一个 HTTP Request Defaults 设置好协议、IP、端口号
-
Jmeter 当中建立 HTTP代理服务器
-
启动代理服务器
-
浏览器安装证书,证书路径在:$JMETER_HOME/bin/ApacheJMeterTemporaryRootCA.crt
-
览器的设置为代理上网,代理地址为:127.0.0.1:8888,端口与上述保持一致
-
打开浏览器开始录制脚本
3.2、测试计划设计
(1)、打开浏览器,进入设置,搜索证书,点击管理证书,证书窗口选择受新任的根证书颁发机构,点击导入,点击下一页
(2)、点击浏览,选择证书,点击下一页
证书在 Jmeter 安装路径下 bin 目录内:ApacheJMeterTemporaryRootCA.crt
注:证书有一个有限期7天,7天后 Jmeter 会自动生成新的证书,过期后,从新导入新的即可
(3)、点击下一页
(4)、点击完成
(5)、安全警告,点击是
(6)、点击确认
测试步骤和 http 一样,只不过 https 多了个导入证书的步骤,此处就不在演示,可以使用:https:///www.baidu.com 百度官网去进行验证,修改 HTTP请求默认值
协议:https
服务器名称或IP:www.baidu.com
端口:443
四、HTTP代理服务器主要参数说明
在 2.2测试计划设计脚本上进行验证
4.1、目标控制器
-
存在线程组或控制器时,可以选择录制脚本所保存的位置
-
控制器在线程组右键 >>> 添加 >>> 逻辑控制器 下添加
4.2、分组:在组间添加分割
- 在取样器分组之间添加以名为-------------------的简单控制器
4.3、分组:每个组放入一个新的控制器
- 每一个 取样器(Sampler) 请求开始时,都会有一个简单控制器生成。即:每个分组放到一个新的简单控制器下
4.4、分组:只存储每个组的第一个样本
-
每个 取样器(Sampler) 请求时,如果有子请求,那子请求是不会被记录的,只记录第一个 URL请求的样本,而这些取样器的(跟随重定向)Follow Redirects 和 (检索所有嵌入的资源)Retrieve All Embedded Resources…等选项将被设置上
-
这种情况虽然很多人说比较推荐,但是个人觉得会丢失许多重要的请求,建议大家还是视情况选择
4.5、分组:将每个组放入一个新的事务控制器中
- 每个 取样器(Sampler) 请求开始时,都会生成一个事务控制器,分组的所有取样器都保存在控制器下
4.6、记录HTTP信息头
- 勾选后,每个请求下,都有一个 HTTP信息头管理器
4.7、Naming scheme:Transaction name
- 使用用户指定的事务名称,替换取样器名称,自带编号
更详细的参数说明,请参考:JMeter 5.5 使用详解(持续更新中…)