APP测试---fiddler的应用

fiddler工具在移动app测试中的使

fiddler工具是基于web代理技术的抓包工具

fiddler抓包原理

  • app ------> fiddler ------> 服务器 ------> fiddler ------> app
  • fiddler工具支持的是http协议、https协议、websocket协议的数据的抓取,不是所有的app和服务器之间的交互数据都能抓取到,比如手游
  • fiddler使用.net开发,需要.net framework的支持,尤其是win7

fiddler环境配置

选项设置

image-20210612204727033

  • Fiddler listens on port 监听端口(默认8888)
  • Allow remote computers to connect 允许远端电脑连接(包括手机/模拟器)
  • capture FTP requests 抓取FTP请求
  • Reuse client connections 重用客户端连接
  • Reuse server connections 重用服务端连接
  • Act as system proxy on startup 启动时作为系统代理
  • Monitor all connections 监控所有的连接

HTTPS设置

image-20210612210001059

  • Capture HTTPS CONNECTS 抓取HTTPS连接
  • Decrypt HTTPS traffic 解密HTTPS通信
  • ignore server certificate errors(unsafe) 忽略服务证书错误(不安全)
  • Check for certificate revocation 检查证书取消
  • Trust Root Certificate 信任根证书
  • Export Root Certificate to Desktop 导出根证书到桌面
  • Reset ALL Certificates 重置所有证书

修改fiddler的设置后,重启一下fiddler软件保证所有的修改生效

对手机/模拟器进行证书的安装和代理设置

  • 使用手机浏览器访问Fiddler所在的电脑的【ip地址:fillder端口号】

    image-20210613103125357

    下载证书,若手机没有密码,会提示你设置密码

  • 证书安装后,需要在wifi上设置,用fiddler进行网络代理,必须要设置

    image-20210613103642478

重点补充:

① 抓真机的手机包,你的Fiddler所在的电脑,必须切换成wifi网 络,并且手机和电脑使用同一个wifi网络

② 因为手机要被Fiddler抓包,需要把代理服务器调成Fiddler,一旦离开公司,你的wifi就断掉了,但是你的网络代理仍然是Fiddler,所在出现了,你发现你手机不能 上网的情况,你需要把网络代替取消,让你的手机恢复到4G网络

关于虚拟机的注意事项

① 物理机上Fiddler <======> 物理机上手机模拟器

② 虚拟机上Fiddler <======> 虚拟机上手机模拟器

③ 物理机上Fiddler <======> 虚拟机上手机模拟器

想要连通数据,首先是虚拟机和物理机是网络相互访问的,如果两个不互通,需要设置虚拟机的网络适配器,将NAT模式换成桥接模式,“复制物理...”可以勾选上

fiddler测试App时需要使用到的重点功能

Hosts设置和Inspectors数据分析器

hosts

hosts设置功能可以将app的host(网址或域名)随意绑定到指定的服务器上(如:开发环境、测试环境、预生产环境等)

img

image-20210613104444293

需要绑定过去地址写在前面,当中空一格,被转移的地址写在后面,最后不可以有空格。

​ 使用完毕后务必关闭(反选)HOSTS,不然会影响抓其他app数据包

​ 使用HOSTS功能的同时,必须保证fiddler是开启的,并且网络代理设置成fiddler

inspector

​ 进入Inspector模块分上下两部分

​ 上半部分对应的是app发往服务器的“请求数据”

​ 下半部分对应的是服务器回给app的“响应数据”,响应数据主要看json格式

Filters功能

​ 数据包列表的数据太多,用filters过滤器功能

image-20210613105013219

AutoResponder接口数据模拟器(挡板测试)

​ 模拟各种测试数据,例如:异常数据、虚拟数据等,用于不同的测试场景

思考

​ 购物车数量的单点功能我们如何测试?

思路

​ 如果想测试购物车有1000件商品,就会发现比较麻烦,需要在后台去构造1000件商品。为了更方便地开展测试,可以使用AutoResponder模块的功能,模拟出假的服务器响应数据(最佳解决方案,现在外面很多叫它“挡板测试”)

​ 例如:

9

99

999

-1

汉字

特殊字符

操作

​ (提前准备)加入一个商品到购物车,购物车数量变成1

​ (抓包)点击购物车按钮,将抓到购物车的数据,找到购物车数量的数据

​ 右键数据包->Save->Response->Entire Response,保存整个服务器响应数据文件到本地

​ 使用AutoResponder

img

​ (点击【Add Rule】就可以添加规则了)

注意事项

​ 反复修改本地的服务器响应数据文件,反复在APP界面上去触发购物车接口,我们可以发现每次我们都使用的是“模拟的数据”

​ 当不使用的时候,务必记得反选Enable rules,关闭AutoResponder功能,即:

​ 这里一定要注意,上图中的Unmatched requests passthrough一定要勾上,因为这个勾上的含义代表着,规则只针对当前接口有效

posted @ 2021-06-13 11:14  李浩源  阅读(65)  评论(0编辑  收藏  举报