同学们,大家好,今天我们开始学习11课了,这节我们讲断点调试。

一. 使用Fiddler进行HTTP断点调试。

这是Fiddler又一强大和实用的工具之一。通过设置断点,Fiddler可以做到:

1. 修改HTTP请求头信息。例如修改请求头的UA, Cookie, Referer 信息,通过“伪造”相应信息达到达到相应的目的(调试,模拟用户真实请求等)。

2. 构造请求数据,突破表单的限制,随意提交数据。避免页面js和表单限制影响相关调试。

3. 拦截响应数据,修改响应实体。

为什么以上方法是重要的?假设js前端程序员和服务器程序员是分工合作的,js程序员想要调试Ajax请求的功能,这样便不必等待服务器端程序员开 发好所有接口之后再开始开发js端的ajax请求功能,因为通过“模拟”真实的服务器端的响应,便可以保证功能的正确性,而服务器端开发程序员,只要保证 最终的响应是符合规定的即可。这大大简化了程序开发的效率,当然也降低了不同业务线程序员联调的难度。

二、断点的两种方式

1.before response:也就是发送请求之后,但是Fiddler代理中转之前,这时可以修改请求的数据。

2.after response:也就是服务器响应之后,但是在Fiddler将响应中转给客户端之前。这时可以修改响应的结果。

三、fiddler设置断点两种方式

第一种:全局断点

打开fiddler 点击rules-> automatic breakpoint ->before requests(这种方法会中断所有的会话)

如何消除命令呢?

点击rules-> automatic breakpoint ->disabled

第二种: 针对某一个请求断点

在命令行中输入命令: bpu www.baidu.com (这种方法只会中断www.baidu.com)

如何消除命令呢?

在命令行中输入命令 bpu

四、设置全局断点:before requests

1.打开fiddler 点击rules-> automatic breakpoint ->before requests

(快捷键:F11)

2.打开浏览器,浏览任意网站

3.在fiddler界面显示如下,前面的图标为红色T

4.点Go按钮可以放弃此处断点,继续走下一步

5找到需要调试的请求后,选中左侧需要调试的一行

6.右侧框打开webfroms,红色区域的传入参数此时为可修改状态

7.修改传入参数,如:将clan参数值修改为1

8.点run to completion 按钮执行,提交给服务器

9.所以此断点可以修改任意你想请求的参数

五、设置全局断点:after requests

1.打开fiddler 点击rules-> automatic breakpoint ->after requests

(快捷键:Alt+F11)

2.浏览器打开www.hordehome.com 会发现无法打开,一直在等待中,说明断点成功

3.在fiddler会话框前面图标显示下箭头,如下图所示

4.右侧区域,显示:response body is encode,click to encode(这个前面的讲过)点击此处就可以了

5.点textview按钮

6.将“部落之家”修改为“软件测试部落”

7.点执行按钮,在浏览器中看到如下图,部落论坛名称已经变成修改后的了

8.所以此断点可以修改服务器返回的数据,改成你所需要测试的数据,这样在前端就能显示了

六、针对某一特定请求打断点

当我们在测试的时候,已经知道了某个接口的请求地址,这时候只需要针对这一条请求打断点调试,这时候只需要在命令行中输入指令就可以了

第一种,请求前断点(before response):bpu

1. 论坛登录接口:http://www.hordehome.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1

2. 在命令行输入

bpu http://www.hordehome.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1

后回车

3.登录部落之家论坛,会发现已经拦截到登录请求了。这时候可以修改任意请求的参数

4.取消断点,在命令行输入:bpu 回车就可以了

第二种,响应后断点(after requests):bpafter

1. 论坛登录接口:http://www.hordehome.com/member.php?mod=logging&action=login& amp;loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1

2. 在命令行输入

bpafter http://www.hordehome.com/member.php?mod=logging&action=login& amp;loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1

后回车

3.登录部落之家论坛,会发现已经拦截到登录后服务器返回的数据了。这时候可以修改任意返回数据

4.取消断点,在命令行输入:bpafter 回车就可以了

七、拦截来自某个网站所有请求

1.在命令行输入:bpu www.hordehome.com

2.打开部落论坛任意网页,发现都被拦截到了

3.打开百度等其他网站,其它网站可以正常请求

4.说明只拦截了来自部落论坛(www.hordehome.com)的请求

5.清除输入bpu回车即可

八、命令行其它相关指令

Bpafter, Bps, bpv, bpm, bpu

这几个命令主要用于批量设置断点

Bpafter xxx: 中断 URL 包含指定字符的全部 session 响应

Bps xxx: 中断 HTTP 响应状态为指定字符的全部 session 响应。

Bpv xxx: 中断指定请求方式的全部 session 响应

Bpm xxx: 中断指定请求方式的全部 session 响应。等同于bpv xxx

Bpu xxx:与bpafter类似。

当这些命令没有加参数时,会清空所有设置了断点的HTTP请求。

更多的其他命令可以参考Fiddler官网手册。

调试断点_接口测试第11课(断点调试)相关推荐

  1. 打用户断点_如何快速测出线缆断点 ?一文了解清楚

    有朋友问到如何测出电线电缆的断点,其实关于测断点这个我们之前有相关的文章,今天我们再来详细了解下. 当电线电缆的内部出现断线故障时,由于外部绝缘皮的包裹,使断线的确切位置不易确定,所以我们需要找出有断 ...

  2. python调试神器_你必须拥有的Python调试神器

    今天推荐一个Python调试工具可以让你的调试更快更方便,叫ipdb. 推荐ipdb主要原因:语法高亮和自动补全,因为很多长变量每次打起来很费劲,这个可以大大提高你的效率,避免出错. 知道的朋友都知道 ...

  3. java的调试页面_[Java教程]使用开发者工具调试jsp页面中的脚本

    [Java教程]使用开发者工具调试jsp页面中的脚本 0 2016-04-21 23:00:07 只举例火狐和谷歌.如果是火狐,一般是用firebug,首先确保开启脚本调试: 然后刷新一下要调试的页面 ...

  4. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! ...

  5. 钉钉提示请勿通过开发者调试模式_钉钉开放平台demo调试异常问题解决:hostname in certificate didn't match...

    今天研究钉钉的开放平台,结果一个demo整了半天,这帮助系统写的也很难懂.遇到两个问题: 1.首先是执行demo时报unable to find valid certification path to ...

  6. python 如何调试函数_使用函数 - python断点调试方法

    清单 7. 使用函数的例子 import pdb def combine(s1,s2): # define subrouTIne combine, which... s3 = s1 + s2 + s1 ...

  7. eclipsevue代码怎么运行_打了多年的单片机调试断点到底应该怎么设置? | 颠覆认知...

    导读:程序运行过程中,有些数据被莫名修改了,在哪里修改的?又是怎么修改的?这个代码我只想知道是否运行过,或者运行了多少次,但是不想让程序停下来,或者仅打印调试信息,怎么办?当这个变量设置成某个数据后, ...

  8. 软件调试学习笔记(六)—— 硬件断点

    软件调试学习笔记(六)-- 硬件断点 硬件断点 设置硬件断点 触发硬件断点 处理硬件断点 实验:硬件断点的设置与处理 硬件断点 描述: 与软件断点与内存断点不同,硬件断点不依赖被调试程序,而是依赖于C ...

  9. python 断点_断点python_python 断点_python断点定义 - 云+社区 - 腾讯云

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 很多项目是用python写构建脚本的,比如微信最近开源的终端跨平台组件 mars ...

最新文章

  1. 14岁印度裔女孩因新冠潜在疗法赢得16万奖金,通过信息学筛出病毒先导分子
  2. T4 Template Overview
  3. php显示前60个字,DEDECMS中怎么让文章标题栏突破60个字符
  4. 微信在计算机基础中的辅助作用,基于微信课后辅导在计算机基础教学中应用.doc...
  5. 制作多系统启动盘教程_制作U盘启动盘教程
  6. No.1-Apache IoTDB 随笔 - Time Series DBMS 综述
  7. 表单组件中state依赖props
  8. Java中this的应用
  9. 将lrc批量转换为txt,同时删除时间标签
  10. 将Linux下文件目录使用Nginx代理使浏览器可访问
  11. 一个40岁程序员的经历
  12. HTTPS双向认证(Mutual TLS authentication)
  13. 部署 php 项目,使用deployer 来部署PHP项目
  14. 计算机组成原理 三种加法微操作命令
  15. 计算机王道PDF408
  16. nRF24L01+不能接收或接收偶尔异常等问题实战分享
  17. 什么是CMOS与BIOS?又有什么区别?
  18. 飞檐走壁已经不是成龙甄子丹们的特技了,TA也可以做到!
  19. C语言编程年龄的立方是个四位数,C 程序设计 功能:求一个四位数的各位数字的立方和。...
  20. 21M的虚拟机VMware Workstation中文绿色版

热门文章

  1. Y15BeTa的乱搞方法(占坑待填)
  2. 一、python基本语法元素(温度转换)
  3. AT649 自由研究
  4. vue-cli构建的项目手动添加eslint配置
  5. tensorflow一个很好的博客
  6. linux bash 获取 国内常见网站的IP列表
  7. liblfds 测试
  8. mysql manage keys_相传mysql 5.5 对于非聚集索引增删有很大的改善… 你信吗?
  9. PAT乙级(1003 我要通过!)
  10. 苏州大学文正学院计算机专业,苏州大学文正学院有哪些专业及什么专业好