案例:禅道登录成功后,默认跳转到了首页,现将修改其跳转到‘测试’标签页。
实现思路:禅道登录后,返回的响应体数据是个json数据:{"result":"success","locate":"index"},其locate对应的值就是控制跳转到那个页面,现可以将此值修改为qa就会自动跳转到测试标签页 。
if(oSession.uriContains("https://demo.zentao.net/user-login.html")){ FiddlerObject.log("修改后的响应体数据:"+oSession.utilReplaceInResponse('index','qa'));}
替换后,进入到Inspectors中查看响应体数据,发现index已经替换为qa了。且登录后的页面也跳转到了测试页面 。
文章插图
OnExecAction
此函数已在QuickExec中做过详细的介绍,这里不再展开 。
1)实现更多扩展
以上介绍了FiddlerScript中最基本常用的一些功能扩展,那如果你需要开发一个更加复杂且要符合你项目的定制功能,那么你就离不开它提供的函数,只有对这些函数非常的熟悉和了解,我们才能更好的应用它 。点击ClassView就可以看到
文章插图
展开它的任何一个类,下面都有很多的属性和方法,其作用从其命名上也能猜出其大致含义,或者点击任一个方法或属性,在上面都会展示出其功能说明 ,然后我们放在上面的两个方法中去试,你就能定制针对fiddler个人功能了 。
综上所述,通过FiddlerScript功能,我们可以设置过滤,设置弱网,请求着色,自定义菜单,自定义查看的请求和响应数据,修改请求数据,修改和自定义返回数据。同样它也支持导出/导入请求。
设置断点【抓包工具fiddler都有哪些高级功能,一文带你全面了解它】在功能测试时,经常会遇到要输入不同的数据来验证不同的输出 ,这其中有好多的输入数据是很比较难以构造的,比如我们要测试个购物功能,在购物前系统会自动定位你的位置 ,那么这个位置就相当于已经帮初始化好了,当我们要测试其它位置的话 ,在App或web系统中就很难修改。怎么办呢 ? 其中的一种方法就是通过fiddler的断点功能将其位置数据修改 ,然后让其返回对应的数据。
基本原理
在了解该功能的使用前,我们先简单地来了解下它的大致原理,下面一张图就是在开启fiddler的前后,客户端与服务端的数据交互过程 。可以看出,在没有fiddler接入前,客户端和服务端交互主要有以下三个步骤
- 客户端发送请求给服务端
- 服务端处理客户端的请求数据(在图中没有体现)
- 将处理后的结果返回给客户端
文章插图
设置断点在fiddler中设置断点有两个位置,设置断点的请求在开头都有这样一个标志:
,在fiddler中有两处可以设置断点 。
其中,第一处就是通过Rules-Automatic Breakpoints设置断点。
文章插图
- Before Request :选择此选项,所有请求都会被设置断点,且所有的请求数据都将暂停发送到服务器 。暂停的每一条数据都可以进行编辑其请求和响应数据,然后再发送到服务器 。
- After Responses :选择此选项,所有请求也都会被设置断点,但是它是将服务器返回的数据暂停,暂停的每一条数据都可以编辑其响应数据,然后再发返回给客户端。和Before Request所不同的是,After Responses只能修改响应(返回)数据,而Before Request既可以修改请求数据,也可以修改响应数据。
- Disabled : 取消断点,
- Ignore Images :忽略给图片设置断点。
需要注意的是,取消断点除了以上设置外,还可以通过go进行恢复,也可以命令恢复(后续介绍)
文章插图
第二处是在左下方输入断点命令 。和上面设置断点不同的是,在命令输入框中输入是针对单个请求设置的断点 。
推荐阅读
- 盘点电子工程师常用的42款工具
- 10大优秀Python开发工具
- 性能测试之HTTP讲解+抓包工具
- 工具推荐:静态代码分析工具清单
- BurpSuite2021 -- 抓包使用及设置
- SeaTable 2.0 来了,比 Excel 更强大的信息记录和管理工具
- GitHub打不开or打开慢,这个工具就能搞定
- reflector 带你彻底搞懂MyBatis的底层实现之反射工具箱
- 常用工具软件选择的三个要素
- 工具软件有哪些品牌