一般来说,任何性能测试工具,实现脚本的方式从本质是分为两种:
- 录制:通过工具自动抓包,自动解包
- 抓包手写:手动抓包,手动解包。
本篇主要介绍Badboy进行录制、JMeter配置代理进行录制、使用jmeter录制手机APP脚本
Badboy进行录制(基于web)
操作步骤
① 打开bodboy工具,点击录制,输入测试网址,点击右箭头
② 在打开的页面进行操作,录制完成后,file—export to jmeter..指定保存位置
③ 打开jmeter,选择“文件”-打开bodboy录制的jmeter文件
④ 添加监听器(右键测试计划—监听器—察看结果树)
注意事项
①录制完成之后,要通过file—export to jmeter将脚本导出为jmeter的脚本类型(*.jmx)
②所有step的组件都至少需要执行一次以下操作:右键名称的step有关的组件—change controller—逻辑控制器---简单控制器(可任选一种控制器,但不清楚时建议使用简单控制器)
优点:录制过程简单,生成有脚本简洁
缺点:
①仅使用于B/S架构的产品的录制
②因为内置浏览器的内核的兼容性问题,会导致部分B/S产品也无法录制(boddoy使用是IE老版的内核)
JMeter配置代理进行录制
操作步骤
① 打开jmeter,右键测试计划—添加—Threads(user)—线程组
② 右键测试计划—配置元件—http cookies管理器(目前很多应用都用到cookies与session)
③ 右键工作台—添加—非测试元件—http代理服务器(3.0版本)
③ 右键测试计划—添加—非测试元件—http代理服务器(4.0版本)
配置代理服务器
- 配置端口号(在当前启动代理服务器的机器上是没有被使用的)方法:win+r---cmd---netstat -an
- 目标控制器(指定脚本生成的位置):选择测试计划—线程组
- 点击页面中的“启动”
④ IE浏览器---Internet选项—连接---局域网设置
- 勾选“为局域网(LAN)使用代理服务器
- 地址设置为jmeter中http代理服务器的地址(本机默认为localhost)
- 端口号:jmeter中http代理服务器的端口号
⑤ 在浏览器中打开被测网址的链接”
⑥ 对录制的东西进行过滤(http代理服务中添加-排除模式)填写“\.css.”|.”\.css.”|.”\.png.”|.”\.gif.”|.”\.jpg.”
⑦在网页进行操作,对jmeter中录制的脚本根据功能进行命名
⑧录制完成后,jmeter中http代理服务器页面点击“暂停”
⑨去掉IE浏览器---Internet选项—连接---局域网设置中“为局域网(LAN)使用代理服务器的勾选
⑩添加监听器(右键测试计划—监听器—察看结果树)
注意事项
① 在录制过程中,一定要关闭其他的可能会使用http协议的应用
② 过滤选项的使用(如只需要录制百度:http代理服务器包含模式添加:.*www\.baidu\.com.*)通常来说,不过滤是不会影响录制,但一旦过滤,这需要保证过滤选项的准确性。
③ 录制完成之后,一定要记得关闭代理服务器,还原客户端的代理设置(即让客户不用代理)
优点
① 录制过程可控
② 适用于任何使用http协议的产品,不限架构
缺点:只是用于http协议
使用jmeter录制手机APP脚本
- 右键“测试计划”---添加---Threads—线程组
- 右键“工作台”---非测试元件-HTTP代理服务器,目标控制器(指定脚本生成的位置):选择测试计划—线程组,并点击“启动”
- 进入手机wifi设置页面,更改手机连接wifi与电脑连接wifi一致并作如下操作:
① 更改wifi为手机代理
② 设置服务器主机名为(所连接wifi的IP)
③ 设置代理服务器端口为:Jmeter中HTTP代理服务器页面设置的端口号
4.操作手机APP,查看Jmeter线程组中是否有脚本,并根据脚本实现的功能对其进行命名
5.脚本录制完成后,返回Jmeter中HTTP代理服务器页面点击“停止”
6.添加监听器(右键测试计划—监听器—察看结果树)
7.点击Jmeter菜单栏上的“启动”图标