whistle抓包工具的能力让你所向披靡(2)(图)

测试工具 创建于:2022-06-12
  
线上代理举栗   接下来我就直接用线上接口访问然后代理操作了,实战操作让大家直接上手起来,老样子,来看图。
  https://u.y.qq.com/cgi-bin/musics.fcg这个接口是我们需要进行代理的线上接口,我们要把它代理到写好的
测试环境对应的接口上。   # 线上接口代理测试环境   https://u.y.qq.com/cgi-bin/musics.fcg
http://192.168.3.14:9000/v17/cgi-bin/musics.fcg

  规则配置好后,那就让我们再次访问y.qq.com看看有没有代理成功吧!!!
  上图我们看到了线上的页面有变化了,可以说确实是代理到了测试环境的数据了。   那么,让我们再次回到配置界面的Network看一眼吧!
  
接口参数代理   上面的所有操作其实都是比较粗暴的,直接把整个接口代理了,不管参数是否正确只要命中这个接口就匹配成功了,哈哈。   其实有的时候也需要根据接口传入参数的不同值来区分场景之类的,这个时候就需要精确匹配了。   还是直接用线上接口https://c.y.qq.com/splcloud/fcgi-bin/gethotkey.fcg来演示一下,大家看这里。
  我们发现这个fotmat=json参数可能是有输出不同格式的作用,于是我们就简单来代理一下,看看如何根据不同的参数值来返回不同内容的。   在新标签页中打开刚才的接口https://c.y.qq.com/splcloud/fcgi-bin/gethotkey.fcg?_=1651564091416&cv=4747474&ct=24&format=jsonp&inCharset=utf-8&outCharset=utf-8&notice=0&platform=yqq.json&needNewCode=1&uin=0&g_tk_new_20200303=5381&g_tk=5381&hostUin=0,这个接口传递了很多的参数。   而对于我们来说,我们只关心format参数的,由于参数拼接的顺序显示format在第4个参数上。   于是我们用^来表示匹配模式,前面3个参数照常写上,但是在值那个直接写成*,它表示通配符算是任意字符了。   # 匹配参数的变化   ^https://c.y.qq.com/splcloud/fcgi-bin/gethotkey.fcg?_=*&cv=*&ct=*&format=*   http://192.168.3.14:9000/splcloud/fcgi-bin/gethotkey.fcg?_=$1&cv=$2&ct=$3&format=$4

  再次访问热词推荐接口(gethotkey.fcg),将format=json修改为format=jsonp后,我们看到返回了jsonp格式的数据。
  尽管上面代理的是我本地启的服务,但是这依然不影响大家去理解匹配参数进行代理的过程,dddd   匹配参数这种模式吧,其实你可以理解为是一种模糊匹配,相对于不知道具体参数数值的情况下比较好使   另外一种就是赤裸裸的参数匹配了,那就是精确匹配。   比如:有这么一个接口,根据你传递参数role来判断是乘客还是车主身份,返回不同的券信息。   # role为1表示车主,返回车主券信息   https://wap.car.com/rent/coupons?role=1    http://192.168.3.14:9000/rent/coupons?role=1   # role为2表示乘客,返回乘客券信息   https://wap.car.com/rent/coupons?role=2    http://192.168.3.14:9000/rent/coupons?role=2

  前面介绍的这些代理返回的数据格式都是json这类的,最后再给大家展示一个返回html模板的吧   
代理输出html模板   在工作中难免会有些项目还是按照传统的html模板输出的形式进行开发的,这种直接返回html模板的我们也依然可以用whistle进行代理。
  如上图所示,我们简单演示一下如何代理html模板,哈哈,非常简单,一看就会。   http://wap.didialift.com/beatles/campaign/blindbox/index   htmlBody://{blind.html}     htmlBody就是用来mock整个html模板数据的。   whistle的规则虽然有很多,但是工作中常用的也就resBody和htmlBody。
  手机代理   工作中我们不可能单纯的只使用电脑进行代理、抓包、mock数据等操作,更多的时候还是要真机上搞起的,那么现在我们就来看一下,真机是如何进行以上操作的。   友情提示: 手机要和你电脑在同一wifi网络下哦。  
 Android设备
  第一步,连代理   第一件事也是最重要的一件事,那就是在同一wifi下,给设备连上代理。
 
 第二步,下载安装证书   来到whistle的配置界面,点击顶部的HTTPS,展示出二维码弹窗,用你的设备扫码下载证书并安装证书。
  至此设备就完成了代理了,你在手机访问一个
百度页面,whistle的Network也可以抓到包了,完美。  
 IOS设备   IOS设备的代理方式和Android设备的前两步是一样的,区别在于它多了一步,那就是需要证书信任,
苹果嘛,就是好这口。   该步骤是酱婶的,设置 -> 通用 -> 关于本机 -> 证书信任设置,勾选whistle证书的就可以了。
  
高效使用   写到这里也算是接近尾声了,想必大家也看疲惫了,图片较多也浪费大家的很多流量了,不过我保证这些没有短视频费流量,哈哈。   言归正传,我在工作开发中特别的喜欢使用whistle,因为对我而言真的是蛮高效的一件事情。   之前因为和后端同学联调,把所有遇到的状态都考虑到了,在提测后只有1个bug,剩下的全是后端同学的bug,当时还骄傲的告诉测试同学,按照我这个来测,所有case都能跑通的,哈哈。
  
结尾   whistle还有一点要比隔壁charles好的地方那就是对于小程序来说,charles抓包有时候会抓不到,而whistle就没有这样的烦恼,所以也是我特别推崇大家使用它的原因吧,哈哈。   讲真的,太久没有在掘金上写
文章了,看到很多人还在给我留言,甚是感动。其中还有一位同学问我最近可好,是否健在之类的吧,让我哭笑不得之下也真的很感谢了。   最后的最后,感谢大家的收看,有写的不好的地方还望指出了,笔芯!


  
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理

权威发布,测试选择不纠结!第15届软件测试行业报告,直击行业发展,把握未来方向!

原文地址:http://www.51testing.com/?action-viewnews-itemid-6657791

免责声明:本文来源于互联网,版权归合法拥有者所有,如有侵权请公众号联系管理员

* 本站提供的一些文章、资料是供学习研究之用,如用于商业用途,请购买正版。

发表于:2022-5-25 09:14 作者:chenhongdong 来源:稀土掘金