利用Fiddler对Jmeter的请求进行抓包
2019-11-01 本文已影响0人
wintests
前言
有时候,为了得到更详细的请求结果,我们可能需要使用Fiddler结合Jmeter来抓包分析,从而更好的辅助测试。
遇到的问题
这里以一个获取学生信息的接口为例进行说明。
当我在Jmeter里按接口文档正确设置好请求,打开Fiddler之后,发现无法抓到Jmeter的请求。


从图片可以看到,Fiddler并没有抓到Jmeter发送的请求。
问题分析
简单分析一下,Fiddler在使用过程中是以代理Web服务器的形式进行的,代理地址为127.0.0.1,端口为8888,它在运行时会监听8888端口的HTTP代理。

因此,当我们在Jmeter的当前请求中,设置代理地址和端口与Fiddler保持一致时,Fiddler就应该能够抓取到Jmeter发送的请求数据。
Jmeter请求中设置代理
目前我们有2个HTTP请求,我们先只设置1个。

设置完成后,再次执行测试计划。

可以看到,Fiddler抓取到了第一个请求,而第二个请求,因未设置代理,故没抓到数据。
设置HTTP请求默认值
如果我们有很多的请求时,我们总不可能在每一个请求中都设置代理吧,因此,我们最好设置一个HTTP请求默认值。
我们只需在HTTP请求默认值中设置代理服务器,那么后面的请求都会默认使用HTTP请求默认值设置的值,这样我们的请求就都能够被Fiddler抓取到。


注意:当关闭Fiddler时,我们在Jmeter中禁用HTTP请求默认值,以取消当前设置的代理,否则Jmeter可能无法正常请求。