软件测试工程师必会的抓包工具

前言:

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(例如cookie,html,js,css等文件)。换句话说就是Fiddler可以拦截请求和响应的http代理工具。

软件测试工程师必会的抓包工具_第1张图片

应用场景:

1.接口调试和测试

2.线上环境调试

3.web性能分析

4.判断前后端bug

5.开发环境hosts配置

6.mock(虚拟测试)

7.弱网和断网测试等

工作原理

软件测试工程师必会的抓包工具_第2张图片

如果对软件测试、接口、自动化、性能测试、测试开发、面试经验交流。感兴趣可以加裙485187702,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。

在用Fiddler之前需要先熟悉HTTP,一个HTTP请求和响应包含哪些内容呢?(以下数据都可以通过Fiddler抓包查看)

HTTP请求包含:请求行、请求头、空行(post)、请求正文

1.请求行:请求方法 、请求资源地址、HTTP协议和版本号

2.请求头(部分):

软件测试工程师必会的抓包工具_第3张图片

3.空行:告诉服务器请求头部到此为止

4.请求数据(请求体):

(1)若是get方法,没有请求体,get请求的数据在url中一起提交

(2)post方法,要提交的数据和内容,是有请求体的,post会产生两个数据包,浏览器先发送header,服务器响应100continue,浏览器再发送data,服务器响应200ok

软件测试工程师必会的抓包工具_第4张图片

响应包含:状态行、消息报头、响应正文三部分组成

1.状态行包含:响应码(200 )、协议(HTTP/1.1)

2.常见的响应头部信息如图:

软件测试工程师必会的抓包工具_第5张图片

3.响应正文:服务器返回的数据

如何用fiddler进行弱网测试?

1.Rules---Customize Rules---ctrl+f 搜索 delay 这个值控制着request-trickle-delay请求的延迟时间和response-trickle-delay响应延迟时间来模拟弱网测试

如图

软件测试工程师必会的抓包工具_第6张图片

软件测试工程师必会的抓包工具_第7张图片

修改完成后,ctrl+s保存

2.修改完这个值保存后,并不能直接生效,还需要 使用这个规则

Rules----》Performance (性能)----》勾选 Simulate modem speeds(模拟调制解调器速度),使用这个规则

软件测试工程师必会的抓包工具_第8张图片

勾选之后就可以进行弱网测试了,通过访问自己的请求,查看响应结果是否符合要求

如何用fiddler设置断点进行测试呢?

1.方法一(个人常用):

软件测试工程师必会的抓包工具_第9张图片

2.方法二:

软件测试工程师必会的抓包工具_第10张图片

3.请求前断点场景演示,如图

软件测试工程师必会的抓包工具_第11张图片

结果显示

软件测试工程师必会的抓包工具_第12张图片

4.请求后断点演示

软件测试工程师必会的抓包工具_第13张图片

设置响应后断点,进行异常操作的页面显示:

软件测试工程师必会的抓包工具_第14张图片

如何进行查看单个资源的响应时间呢?

1.同样的是是定制规则:Rules---》Customize Rules

软件测试工程师必会的抓包工具_第15张图片

2.打开之后,复制一下代码,粘贴成功后,保存并重启Fiddler生效(代码不为本人原创)

	//请求开始时间	public static BindUIColumn("Time Happen")//tab的名称,自己想改什么就改什么	function RecordTimeBegin(oS: Session){		var sResult = String.Empty;		if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))		{			sResult = oS.Timers.ServerGotRequest.ToString();		}		return sResult;	}	function BeginRequestTime(oS: Session)	{		if (oS.Timers != null)		{			return oS.Timers.ClientBeginRequest.ToString();     		}		return String.Empty;	}	//响应耗时	public static BindUIColumn("Time Taken")	function CalcTimingCol(oS: Session){		var sResult = String.Empty;		if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))		{			sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();			//sResult = oS.Timers.ServerGotRequest.ToString();		}		return sResult;	}

3.再次访问请求时,就会显示请求开始时间和响应耗时

软件测试工程师必会的抓包工具_第16张图片

最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

8小时传疯!大厂面试真题全被大佬整理在这个小程序上了!【软件测试,建议收藏】

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础 

  全套资料获取方式:点击下方小卡片自行领取即可

你可能感兴趣的:(软件测试,程序员,接口测试,自动化测试,测试工程师,抓包)