网站首页 > 文章精选 正文
1. 前言
抓包和 Mock 是日常工作中经常用到的 2 个功能,可能第一时间你会想到 Charles、Fiddler
但是这两款工具在 Mock 数据管理上功能过于简单,并且扩展性不强
这里,强烈推荐美团刚开源的一个工具,即:Lyrebird
2. 介绍
Lyrebird 是一个基于 mitmproxy 拦截及模拟 HTTP/HTTPS 网络请求的面向移动端的插件式测试平台
项目地址:
https://github.com/Meituan-Dianping/lyrebird
主要功能为:
- 网络抓包
- Mock 功能及管理
- 支持插件功能
- 包含实现埋点自动测试、API 覆盖率统计、移动设备及 APP 控制和信息记录、自定义检查脚本等一系列功能
3. 准备
首先,安装依赖库
# 安装依赖库:lyrebird
pip3 install lyrebird
然后,使用 lyrebird 命令启动服务
- lyrebird
- 默认方式启动服务,打开浏览器操作界面
- lyrebird -v
- 启动服务,打开浏览器操作界面,并会在控制台显示详细的日志信息
- lyrebird -b
- 启动服务,不打开浏览器
- lyrebird --mock 9090 --proxy 4272 --data . --config your/config/file
- 自定义参数的方式,启动服务,并打开浏览器
需要指出的是,lyrebird 默认代理服务器端口号为:4272;Mock 服务及前端端口号为:9090
当然,也可以通过最后一种方式自定义代理服务器的端口号及 Mock 服务端口号
4. 使用
在使用之前,我们需要拿到 PC 端的 IP 地址,根据启动代理服务,在移动端配置手动代理
比如,如果是以默认的方式启动 lyrebird 服务,手动代理的端口号配置为 4272
然后,利用浏览器打开 http://mitm.it 下载并安装 mitmproxy 证书
最后,就可以对移动端的 App 进行抓包了
4-1 抓包
lyrebird 服务的操作界面默认停留在抓包界面,会将录制的请求数据在左侧列表中显示,点击某一个请求,右侧会展示请求报文的详细内容
工具栏包含停止、清除两个功能,用于管理请求列表
另外,右上角的输入框可以通过关键字对请求进行筛选
4-2 Mock
lyrebird 对某一个接口进行 Mock 也非常方便
首先,在左侧列表中选中 DataManager,然后添加一个 Group
接着,回到请求列表页面
选择一个激活的 Mock 组,然后选中待 Mock 的请求接口,点击保存按钮
然后,回到 DataManager Tab,对需要 Mock 的接口的请求、响应进行编辑,然后保存
最后,回到请求主界面,再次录制相同的接口,会发现该接口会返回上一步设置的 Mock 数据
并且凡是走 Mock 请求的项都被标注为:mock
5. 最后
实际上,lyrebird 除了抓包和 Mock,还可以通过插件扩展能力,实现更加复杂的功能
如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!
- 上一篇: 从零基础到精通,抓包神器fiddler保姆级使用教程(一)
- 下一篇: 闲鱼APP爬虫
猜你喜欢
- 2025-01-13 Fiddler:程序员必备的网络抓包调试工具
- 2025-01-13 「按键精灵」伪装成浏览器采集网页数据
- 2025-01-13 闲鱼APP爬虫
- 2025-01-13 从零基础到精通,抓包神器fiddler保姆级使用教程(一)
- 2025-01-13 安全测试工具抓包工具Fiddler
- 2025-01-13 2024年6月6日,最新恢复好友,最新抓包技术,一个方法教会你!
- 2025-01-13 抓包工具Fiddler
- 2025-01-13 什么是抓包?它能解决你遇到的网络所有问题!
- 2025-01-13 Whistle 使用教程:开发者必备的抓包利器
- 2025-01-13 PanTools神器来袭,网盘达人必备的高效利器
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)