fiddler官网 https://www.progress.com/

官网下载fiddler  https://www.telerik.com/download/fiddler/fiddler4

fiddler插件下载 https://www.telerik.com/fiddler/add-ons

Fiddler无所不能——之测试开发攻城狮必备神器

1、模拟真实网络环境4g网、3g网络、2g网络、弱网等​

开启弱网Rules——Performance——勾选Simulate Modem Speeds

关闭弱网Rules——Performance——取消勾选Simulate Modem Speeds

自行设置指定的上行下行网速

 2、并发请求,测试并发请求导致的问题​

右击——Replay——按住shift再点击Reissue Requests,弹出框设置并发次数5次并确定,可以看到同一时间相同请求发送了5次,这就是并发请求,

3、接口测试、接口调试(手动配置接口参数/抓的接口手动拖至composer即可)

4、环境映射(安装插件stave)

<1>环境切换:当我手机装的是测试环境包/线上环境包,想映射到线上环境/测试环境,可以通过此途径

<2>旧版本兼容:新版本已测试通过,想测老版本兼容,可以下载线上包,通过映射到测试环境,可以达到线上前端兼容新服务测试

5、mock服务(前后端联调、前端测试、页面适配测试)

项目版本中,当我们前端已做好,后端未好时,我们不能干坐着等后端好了再调试或再测试,这时我们就可以用上这个方法了

<1>桌面新建json/txt接口响应数据,设置测试数据,与接口定义文档一致

<2>将要测接口拖至右边AutoResponder窗口中,勾选Enable rules,勾选此接口并选中,选find a file…(图2)然后选响应文件(图1)

<3>设置完成后,app前端再次请求此接口,查看响应体(图3),并查看页面展示数据,正是图1设置的响应体

 6、模拟定

有时我们想测试下app的其它城市定位;或者其它城市切换至本城市

<1>抓取美团小程序定位接口,目前定位上海

https://i.meituan.com/locate/latlng/34.287145,108.948189.json?isMars=false

<2>百度地图查找要定位城市的坐标点34.287145,108.948189

<3>fiddler底部栏中bpu  https://i.meituan.com/locate/latlng 回车后

<4>小程序中再次请求定位这个接口,此时拦截住请求,快速修改上海坐标点为西安坐标点,点run to completion,接口响应定位数据为西安

<5>再次查看小程序里,首页定位到西安了,达到目的了,哈哈哈哈哈

7、fiddler查看显示接口请求的ServerIP

     1. 运行fiddler,菜单,Rules->Customize Rules…或者点击右侧tab

“FiddlerScript”

2、Ctrl+F查找“static function Main()”字符串,然后添加下面这行代码:

FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

7、模拟失败场景测试(登录失败、查询页面失败等)

我们平时测试重点只会关注正常成功逻辑,而恰恰忽略了异常失败逻辑,并且对于异常测试无从下手,这时我们就要拿出秘密武器了

   <1>抓取要测试的接口,我们可以看到接口是通过的

<2>右侧切换至AutoResponder页面,拖拽<1>中接口至AutoResponder页面中间区域,勾选顶部3个选框,底部选择要模拟的报错形式,点save保存

<3>这时就设置好了,重新请求此接口或退出app重新进,再次请求此接口,我们回看到左侧抓包区域,此接口报错502,就达到了模拟接口502的效果

8、拦截http请求,设置断点

使用Fiddler进行HTTP断点调试是fiddler一强大和实用的工具之一。通过设置断点,Fiddler可以做到:

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

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

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

设置断点共有两种方式:

①fiddler菜单栏->rules->automatic Breakpoints->选择断点方式,这种方式下设定的断点会对之后的所有HTTP请求有效。有两个断点位置:

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

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

3)如何消除命令呢?点击Rules->Automatic Breakpoint->Disabled

②命令行设置断点

1)bpu在请求开始时中断

命令行输入:bpu www.baidu.cm(拦截www.baidu.com请求)

解除拦截:输入命令:bpu

2)bpafter在响应到达时中断

命令行输入:bpafter www.baidu.cm(拦截www.baidu.cm返回值)

解除拦截:输入命令:bpafter

3)bps中断HTTP响应状态为指定字符的全部session响应

命令行输入:bps 302

解除拦截:输入命令:bps

4)bpv/bpm中断指定请求方式的全部session响应

Fiddler无所不能——之测试开发攻城狮必备神器相关推荐

  1. 从码农到开发攻城狮,我经历了什么?

    对于很多想从事或者刚进入开发岗位的伙伴们来说,对于开发这个职位的了解并不多,甚至已经有些迷茫,感觉总有敲不完的代码和无尽的加班赶项目,一眼望不到头.今天就借用朋友的故事讲述一个普普通通的开发蜕变之路, ...

  2. 15个前端攻城狮必备的学习网站 | 你知道几个?(附视频介绍)

    前端开发所需掌握知识点概要 HTML&CSS: 对Web标准的理解(结构.表现.行为).浏览器内核.渲染原理.依赖管理.兼容性.CSS语法.层次关系,常用属性.布局.选择器.权重.盒模型.Ha ...

  3. 一位Java开发攻城狮的自我修养之项目篇

    攻城狮的自我修养之项目篇 基础知识 Java基础 SpingBoot SpringCloud LeetCode题库 大数据 项目实战 商城系统 权限管理系统 脚手架系统 人事管理系统 论坛系统 博客系 ...

  4. 前端开发攻城狮必须知道的开发环境和插件

    前端开发,做到后面,是可以走很多方向的: 但是要保证后期的平滑过度,前期还是要把一些必须的知识搞扎实的: 下面是我根据自己学习的感悟,写的一些东西: 一个网站的流程,由前端工程师 使用 HTML+CS ...

  5. 测试攻城狮必备技能点!一文带你解读DevOps下的测试技术

    [摘要]本文将从DevOps模式下对测试人员的活动的变化,以及常用的测试技术层面进行解读. 项目的软件开发模式主要经历瀑布模型.敏捷开发和DevOps这几个阶段,其中DevOps主要解决开发和运维.运 ...

  6. IT 攻城狮必备的十大算法思想

    概率 排列组合 动态规划 递归与迭代 位操作 排序(几大主流的排序) 图 树与堆 链表 数组 Conferences: http://www.csdn.net/article/2014-04-10/2 ...

  7. 论一个优秀的测试攻城狮的基本素质

    作为一个测试攻城狮,我们要做到,要么不做,要么做到最好 言归正传,首先呢,既然选择了测试那么就要对测试负责到底,不要半途而废. 对软件测试要感兴趣,对自己呢,也要有自信.有信心. 如果具备了这些,那么 ...

  8. 关于那些最好玩的户外APP合集下(适合资深驴友、牛逼设计狮、装逼攻城狮)...

    本文会陆续分享分析全国最好的30个户外APP(下载量均至少在30万级别以上),希望能给户外爱好者.Ui设计狮.户外APP开发攻城狮一些启示. 关于那些最好玩的户外APP合集上(适合资深驴友.牛逼设计狮 ...

  9. 运维人生攻城狮的第一次搬家

    工作以来搬家都搬了好多趟了,今天再次搬家,下面开始回忆并记录下来,用于缅怀我们攻城狮的青春人生. 刚开始上班第一间公司,福利还不错,先住在公司宿舍,一间宿舍几间房,和几个前辈程序员住一起,公司给我们安 ...

最新文章

  1. is not a supported wheel on this platform pip安装报错
  2. html5 点击事件委托,jquery事件委托
  3. Linux 基金会透露未来 Linux 内核可能会引入形式验证
  4. 【Linux】一步一步学Linux——systemctl命令(147)
  5. java面试-Java并发编程(六)——线程间的通信
  6. [轉]VS2010 UML类图生成代码
  7. docker search
  8. 1)Linux学习笔记:crontab命令
  9. webpack的分享
  10. 常见的目标检测中的背景建模方法漫谈
  11. markdown模板(个人使用)
  12. 机器人动力学-牛顿-欧拉方程
  13. chorme的性能优化工具
  14. idea卸载不干净怎么办_Office卸载不干净怎么办?我想你一定需要Mac卸载Office的图文教程!...
  15. Ubuntu下利用docker安装微信
  16. OpenGL ES EGL eglCreatePbufferSurface
  17. qt在表格中如何画线_Qt之表格控件蚂蚁线
  18. 国内免费php mysql空间,[php mysql]国内有什么好的免备案免费php+mysql空间
  19. 轻巧便携电动螺丝刀,DIY的得力好帮手,WOWSTICK PLAY MINI SD体验
  20. SDN系统方法 | 8. 网络虚拟化

热门文章

  1. 华为6x手机计算机软件没有了,只用一招,教你将华为手机变成电脑,这波操作没几个人知道...
  2. java用NIO实现文件传输_Java Nio 实现文件的传输
  3. mybatis plus当月数据查询_Springboot+mybatis(plus)+druid多数据源
  4. ant java 返回_使用Ant自动化我们的java项目生成
  5. 计算机桌面设置定时,如何设置可以每月自动变化的日历桌面?
  6. 32f407tim4时钟源频率_慎重选择时钟发生器,别让这俩指标影响你的ADC 「图片」...
  7. ascii码扩展 php,php与ascii码
  8. python 解决bytes和str之间 出现 TypeError的问题
  9. 一道简单却易混淆的高等数学求极限题目
  10. 命令行输入mysql不行_MySQL命令行无法插入中文数据