Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)

时间:2024-03-28 22:50:22

在实际项目应用Jmeter,通常录制的脚本都是不能直接使用的,需要根据实际业务对对应的脚本进行参数化、关联等操作后才能正常使用,且录制脚本时通常各种请求比较多,杂乱,且会记录很多干扰项,所以是否需要使用录制方法进行脚本编写,需要根据实际应用场景分析决定。

HTTP代理服务器录制

HTTP代理录制方式通常用于录制网页端和APP端的测试脚本,本章将通过介绍录制网页端脚本进行讲解,录制APP端的方法与录制网页端大致相同,只是将浏览器中设置代理,更换到手机中设置代理,将不再赘述。

要实现代理录制,需要启动Jmeter代理,并将浏览器代理设置为使用Jmeter的代理,才能完成录制,Jmeter提供了一个快速添加录制的模板,使用模板可快速构建录制所需的组件。
Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)

以下将介绍如何手动添加实现代理录制,录制脚本时,对于HTTPS使用谷歌可能有些意外的问题,建议使用Firefox浏览器。

1 启动Jmeter,在测试计划中添加一个HTTP代理服务器(添加-》非测试元件-HTTP代理服务器)
Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)
2 添加一个线程组,然后在线程组下添加一个录制控制器

Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)

3 如果要监听录制的脚本的响应数据,在HTTP代理服务器下添加“察看结果树”
Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)

4 HTTP代理服务器页面点击“启动”

Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)
此时代理服务器会创建证书(如果没有),GUI会进入无响应状态直到证书创建成功,此证书用于录制Https的请求。证书生成成功后,会弹出提示,提示证书位置及有效期等。
Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)

证书保存在Jmeter的Bin目录下,证书有效期为7天。关于HTTP代理录制详细使用方法,请参考之前的
HTTP代理服务器详解 以获得期望录制的脚本信息

5 启动代理后,需要给浏览器设置使用代理

Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)
然后将代理设置为,本机IP:port,port是HTTP代理服务器启动时所设置的端口,默认为8888,设置成功后保存

如果是录制HTTP请求,此时重启浏览器就可以正常录制了(建议使用无痕模式),但如果录制HTTPS,会发现无法录制,是因为需要证书授权,此时,需要将Jmeter的证书ApacheJMeterTemporaryRootCA.crt,导入到浏览器受信任的证书中。

如有必要,可以通过从JMeter的bin目录中删除文件proxyserver.jks来强制JMeter重新生成**库(以及导出的证书-ApacheJMeterTemporaryRootCA [.usr | .crt])。

Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)
导入成功后,重启浏览器访问,即可录制HTTPS的请求了(建议使用无痕模式,避免缓存等对脚本录制结果产生影响)

badboy录制

badboy提供脚本录制,但无法调用测试者本身指定的浏览器进行录制工作,而是只能使用IE进行脚本录制,这可能导致部分页面无法兼容,且不能录制APP。

下载后傻瓜式安装即可使用,打开badboy,默认在录制状态,输入要录制的URL,如:
https://www.baidu.com/,点击URL输入框后的 → 按钮即可进入访问页面,接下来,就可以录制脚本了。
Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)
脚本录制完成后,点击file –→ export to JMeter,即可导出可由Jmeter执行的Jmx测试计划文件,使用jmeter打开文件即可读取录制的脚本信息

Jmeter进阶篇4-录制脚本的两种方法介绍(HTTP代理录制与badboy录制)