首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

刚刚美团开源了一款超级好用的抓包及 Mock 工具

第一时间关注 Python 原创干货!

1. 前言

抓包和 Mock 是日常工作中经常用到的 2 个功能,可能第一时间你会想到 Charles、Fiddler

但是这两款工具在 Mock 数据管理上功能过于简单,并且扩展性不强

这里,强烈推荐美团刚开源的一个工具,即:Lyrebird

2. 介绍

Lyrebird 是一个基于mitmproxy 拦截及模拟 HTTP/HTTPS 网络请求的面向移动端的插件式测试平台

项目地址:

https://github.com/Meituan-Dianping/lyrebird

主要功能为:

网络抓包

Mock 功能及管理

支持插件功能

包含实现埋点自动测试、API 覆盖率统计、移动设备及 APP 控制和信息记录、自定义检查脚本等一系列功能

3. 准备

首先,安装依赖库

然后,使用 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,还可以通过插件扩展能力,实现更加复杂的功能

如果你觉得文章还不错,请大家点赞、分享、留言下,因为这将是我持续输出更多优质文章的最强动力!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201209A05MUU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券