首页 > 其他分享 >fiddler在软件测试中的使用

fiddler在软件测试中的使用

时间:2023-02-14 18:11:45浏览次数:37  
标签:场景 请求 xx fiddler 使用 篡改 断点 软件测试

1.抓包,辅助定位bug(web中类似谷歌浏览器F12开发调试工具)

合格的软件测试工程师,不仅仅需要能够发现bug,还需要能透过bug表象,分析出问题根本原因,从而提升bug的解决效率,通过fiddler可以抓取接口请求的request和response,通过对参数进行分析,可以定位是前端问题还是后台问题,直接找到对应的开发人员,可以快速解决问题。

1.1APP抓包分析

配置前提:手机与电脑在同一局域网

配置步骤:

 1.Fiddler设置打开Fiddler, Tools-> Options。选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来(配置完后记得要重启Fiddler)。     2.获取电脑ip地址:cmd输入ipconfig,或者直接通过fiddler查看,鼠标放在fiddler界面右上角网络连接图标处,即可展示本机ip(如图)。

 

 

 3.打开手机, 找到你的无线网络连接, 打开HTTP代理,选择"手动", 输入Fiddler所在机器的IP地址(比如:192.168.1.104) 以及Fiddler的端口号8888 

   4.手机安装证书:首先要知道Fiddler所在的机器的IP地址,手机浏览器访问“ip地址:8888”,FiddlerRoot certificate" 然后安装证书并设置信任。

 

2.构建需要的测试场景(通过拦截篡改接口的请求或返回)

在测试过程中,为了测试覆盖率,往往需要执行很多场景的用例来验证某一功能在各种场景下的业务处理能力,包括正常、异常的场景;而仅仅通过页面端来发起校验,往往是不能够模拟所有场景的。另外,如果系统调用的有外部接口,根据外部接口的不同返回结果进行不同的逻辑处理,那么就需要外部接口的提供方配合我们进行测试,而在实际操作中这是很难做到的,这个时候我们就可以使用fiddler来篡改接口返回的数据,构造我们需要的测试场景,可以大大提高我们的测试效率。

2.1断点篡改请求参数

2.1.1如果需要篡改请求参数,则需要在请求前设置断点

举例1:boss后台模拟充值

输入充值金额,提交前,进行断点设置,fiddler中选中Rules->Automatic Breakpoints->Before Requests;页面进行业务操作,此时在fiddler页面可以看见对应的请求图标会有个红色通行标示,表示请求过程中设置了断点,客户端发出的请求被fiddler拦截了。 在左侧点击这个请求,在右侧Inspectors->TextView或WebForms等界面下会看到请求发送的具体内容,直接修改需要模拟的测试场景数据,再点击右下页面的run to complete按钮即可。 此时再看接口,会发现接口向服务器发送的请求是我们篡改过的。此方法在充值,购物支付等重要场景可以对服务端的安全性进行校验。本质是绕过前端的限制直接向服务端发起请求,有多种应用场景。   举例2:开票场景

场景一:请求前设置断点,篡改请求参数

步骤1:在浏览器打开目标网址:xx.xx.xx.xx:xxxx/eticket-web/index.html#/login

步骤2:在fiddler中添加主机

步骤3:设置断点

步骤4:在目标网页中进行操作

步骤5:fiddler会话列表中,可以看到这个请求已经被设置了请求前断点,点击该会话,在右侧请求参数中,篡改开票金额

        步骤6:点击【Run to Comp】按钮,观察响应报文     篡改数据后再向服务器发送请求,请求失败    

2.1.2如果需要篡改响应数据,则需要在请求后设置断点

场景一:响应后设置断点,篡改响应参数

步骤1:在浏览器打开目标网址:xx.xx.xx.xx:xxxx/eticket-web/index.html#/login

步骤2:在fiddler中设置断点

步骤3:在目标网页上进行正常操作

先打开目标网址进行登录,然后将fiddler拦截的登录成功的响应信息进行修改

fiddler拦截的响应信息

将拦截的响应信息进行修改:

查看目标网址返回的信息

 

2.2.接口指向本地资源。在本地文件中配置你想要的的返回结果,请求特定接口时返回你自己配置的资源。

举例:将“baidu”这个关键字跟本地电脑的一张图片绑定,再访问带有“baidu”关键字的地址,就会被劫持,具体步骤如图所示:

 2.3.直接修改指定接口的返回结果,构造所需要的测试场景

 举例:

 

标签:场景,请求,xx,fiddler,使用,篡改,断点,软件测试
From: https://www.cnblogs.com/zhangxiaoze/p/17120450.html

相关文章

  • 教你如何使用CSS实现毛玻璃效果
    前言之前在逛一些网站的时候,就经常看见一些图片背景模糊的效果,这样的效果可以使得用户将更多的注意力放在清晰的地方上,可以不经意间引导用户。我就很好奇,这样的一种效果是怎......
  • 如何从软件测试转行车载测试(网盘视频)
    加v:1489088761纯软件测试越来越卷了,转行车载测试是不错的选择,尤其是车载智能座舱测试,比较好入门。我们班上学了车载测试去一线的同学,本科基本上都是12k起步。(ps:不要问我......
  • Linux日志文件及如何使用rsyslog搭建小型日志服务器
     一、日志文件1、日志作用2、常用日志3、日志级别二、Rsyslog日志处理系统1、使用Rsyslog创建日志有点2、Rsyslog配置文件解析3、使用rsyslog将ssh服务的日志单......
  • .net core 使用 IOption 依赖注入获取配置值
    1appsettins配置{"Logging":{"LogLevel":{"Default":"Information","Microsoft.AspNetCore":"Warning"}},"AllowedHosts":"*",......
  • Markdown的基本使用方法
    标题一级标题:#+空格+标题名称+回车二级标题有两个#三个标题有三个#.......字体加粗:在需要加粗字的前后端各添加两个*+回车加粗斜体:在需要斜体字的前后端各添加一个......
  • TypeScript:类型标注和d.ts类型声明文件的使用
    通过引入ts的类型声明,编辑器可以很好的进行提示,提高开发效率(目录)默认引入jsmain.tsimport{jQuery}from"./jquery";varmsg:string="HelloWorld!";jQuery......
  • 【go-1】使用VS Code写GO程序
    一、安装go1.下载:Downloads-TheGoProgrammingLanguage下载的时候选择对应的操作系统的版本,下图为Windows64位安装文件:   2.安装一路点next即可,环境不......
  • Vue3使用vue-router如何实现路由跳转与参数获取
    //跳转传参import{useRouter,useRoute}from'vue-router';constrouter=useRouter()constroute=useRoute()//新开页functionjump(id){consturl=router.......
  • video标签使用controls属性怎么去掉三个点
    当video标签使用controls属性的时候。pc电脑会显示三个点,可以利用controlslist属性进行设置 1、nodownload:不要下载按钮2、nofullscreen:不要全屏按钮3、noremotepla......
  • Android使用FFmpeg的API库
    Java可以通过JNI调用原生库中的函数,原生库完全是由原生的CPU指令堆叠起来的,所以运行速度很快。大部分的原生库都是用C/C++编译出来的。因此,Android里面也能通过JNI......