本篇文章,博主想使用通俗易懂的话语,让大家明白以下内容:
什么是抓包
哪些场景需要用到抓包
Fiddler抓包的原理
怎样使用Fiddler进行移动端抓包
抓包
包 (Packet) 是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。
我们平常测试过程中所说的数据包其实就是接口请求的数据,在HTTP请求中,包括请求头信息、请求内容、响应头信息、响应内容。
什么是抓包
用特定的工具获取客户端与服务端之间发送和返回的数据包。目的是分析数据包的协议、内容等,从而判断接口的设计是否符合要求,比如抓包某次请求的请求参数与响应参数,查看参数是否正确。
哪些场景下需要抓包
对于初学者或者没有接触过接口测试的同学而言,可能不太明白做接口测试或者接口自动化测试为什么一定要学会对接口数据进行抓包。
那么在哪些场景下需要抓包获取请求数据呢?
重现bug,需要截取数据定位问题时;
判断问题是前端bug还是后端bug时;
做接口测试,但开发没有提供接口文档时,需要抓包才能获取接口信息;
某个功能场景或者某些功能场景我们不知道调用了哪些接口,或者不知道接口调用的先后顺序时;
需要修改返回参数时(用于mock或者别的场景)
在实际测试过程中,用的最多的场景是1、2、3、4。
Fiddler
抓包工具有很多种,如Wireshark、Fiddler、Charlse、Tcpdump、浏览器工具(F12)等,但在软件测试工作中抓包对象一般是HTTP协议的接口,所以最多的是浏览器工具、Fiddler/Charlse。
Fiddler特点简单归纳如下:
Fiddler能抓取客户端和服务器之间的HTTP/HTTPS请求,可以对接口请求设置断点,甚至修改输入输出数据
Fiddler只能抓取HTTP/HTTPS协议
Fiddler除能对PC端浏览器抓包外,还支持对移动端进行抓包