whistle.savemongo:抓包工具whistle插件,保存请求到mongo数据库

whistle常用功能介绍

Whistle是一个功能强大的抓包工具,能够帮助开发者在开发和测试过程中捕获和分析网络请求。
可以灵活设置代理规则,修改请求响应数据,安装插件,满足不同的抓包需求。
平时使用较多的功能:

  1. 移动端页面调试。设置规则,将页面url 追加eruda,或开启weinre,可以在不修改页面代码的情况下,远程调试页面
https://www.xxx.com/page jsAppend://{load_eruda.js}
https://www.xxx.com/page weinre://debug
  1. mock测试,将响应修改为指定数据。可以快速查看页面效果。
  2. 延迟响应:某请求响应时间不同,可能引起异常问题,可以设置延迟响应时间,验证bug
https://www.xxx.com/page  reqDelay://3000

4.websocket抓包,数据格式转换。可以配合插件使用,其他文章再详细介绍

开发whistle.savemongo背景

在接口/ui测试时,想将请求记录自动保存下来,利用保存的数据,后续可以开发多个功能
在测试过程中,可能使用的场景:

  1. 统计接口覆盖率
  2. 通过接口中的版本或日期字段,对比不同版本接口变化
  3. 在线上环境回归时,过滤是否有测试环境的接口

查询whistle官网以及相关github插件项目。有介绍如何开发插件以及不同类型的插件项目可以参考。但没有满足自己项目需要的插件,所以决定自己开发一个插件。

开发插件

参考项目whistle.autosave,该项目将数据保存本地文件。需要增加mongo数据库相关功能。

编写配置页面

在这里插入图片描述

引入mongoose连接数据库

在这里插入图片描述

处理请求响应数据

whistle提供处理请求响应的接口。将读取数据保存到数据库中
在这里插入图片描述

项目同步github

项目开发测试后,能正常连接保存数据库。将项目同步到个人github里
https://github.com/kkapro/whistle.savemongo

发布npm包

注册了npm账号,将项目发布到npm.通过命令可以直接安装
npm i -g whistle.savemongo

插件使用说明

安装插件

npm i -g whistle.savemongo

配置规则

www.xxx.com pipe://savemongo

规则匹配后,whistle会将请求记录保存到mongo数据库中,在mongodb中可以查看相关记录

表字段说明

字段类型说明
idStringwhistle的请求唯一标识符
fullUrlString完整URL
methodStringHTTP请求方法
urlString请求的URL地址
protocolString使用的协议(如HTTP或HTTPS)
hostString请求的主机名
pathString请求的路径
headersObjectHTTP请求头信息
res_bodyObject响应体内容
res_headersObject响应头信息
reqObject请求对象,包含请求相关的所有信息
req_bodyObject请求体内容
req_paramsObject请求参数
client_ipString客户端IP地址
create_timeString创建时间
  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值