软件测试为什么要抓包?(什么情况下要抓包)
我们首先来看抓包的定义:
什么情况下要抓包呢?
包:数据包
抓包:用特定的工具获取客户端与服务端发送和返回的数据包。目的是分析数据包的内容与协议,从而来判断是否符合设计要求。
什么情况下需要抓包?
1.开发要你重现bug,截取数据,定位问题的时候
2.判断一个问题是前端bug还是后端bug的时候
3.开发要你做接口测试,但又不没给你接口文档的情况--》方法,接口地址,传递参数,头部,返回内容
4.在不修改任何环境的情况下,修改返回的结果,即通常说的mock--》模拟接口
Fiddler抓包工具与其他工具对比
除了Fiddler可以抓包之外呢,还有很多其他的工具可以抓包
抓包工具:wireshark、fiddler、httpwatch、charles、chrome开发者工具(F12)
那么在这一块,我们为什么选择Fiddler进行抓包,可以看一下它的比较。
首先第一个Fiddler它的优势,独立运行,第二个支持移动设备(是否能抓移动APP的包,)在这一块的话wireshark、httpwatch就不支持,因此在这一块就可以排除掉前连个,因为我们有时候去进行测试的时候,除了测web端,也会要去测app端,在企业里经常去要做的事情。
然后Fiddler是免费的,charles是收费的。当然我知道大家都能够各显神通,做坏事的时候,记得带上你的负罪感。
当然你选择这个免费工具的前提是,它满足你的需求,能够解决你的问题,并不是说我随便找一个不能解决我问题的工具,这个肯定是不行的,至于说在这一块想去用一下wireshark、httpwatch可以自行去下载使用,我们今天主要分享Fiddler。
我们来讲一下抓包原理,其实原理这个东西,你真正理解了就很简单
我们首先来看一下,在平时我们去访问一些网站的时候,客户端理解为自己的电脑PC,去发送一个请求,比如网站地址 ,通过网络发送给了服务端,服务端接收到你的请求,对请求进行处理,然后将这个数据进行返回。
发送请求 (输入关键词程序员一凡)
(服务端) 返回数据
你的请求跟你的响应,都会通过这个抓包工具(代理)因此我们在中间能够看到数据,发送过的数据经过了我,返回的数据也经过了我。这个是就代理的原理。