Home

Awesome

<p align="center"><a herf="https://meituan-dianping.github.io/lyrebird/"><img src="./image/lyrebird.png" width="220"></a></p> <h1 align="center">Lyrebird</h1>

Tests Publish CodeQL

PYPI

PyPI PyPI PyPI - Downloads

pip install lyrebird

DockerHub

Docker Image Version (latest semver) Docker Image Size (latest by date)

docker pull overbridge/lyrebird

Docs

Doc Backers on Open Collective Sponsors on Open Collective GitHub


简介

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

Lyrebird 不只提供 UI 操作,也可以通过 API 控制所有功能。

Lyrebird 也可作为服务端接口测试 mock 工具使用。

Lyrebird 可以通过插件扩展能力,实现埋点自动测试、API 覆盖率统计、移动设备及 App 控制和信息记录、自定义检查脚本等一系列功能。

Lyrebird (琴鸟) 不但美丽壮观,且能歌善舞。它不但能模仿各种鸟类的鸣叫声,还能学人间的各种声音。如汽车喇叭声、火车喷气声、斧头伐木声、修路碎石机声及领号人的喊叫声等。歌声婉转动听,舞姿轻盈合拍,是澳洲鸟类中最受人喜爱的珍禽之一。


快速开始

环境要求

# macOS系统中推荐使用Homebrew(https://brew.sh/#install)安装Python3
brew install python3

Windows 需要的额外步骤:

安装

# 安装lyrebird
pip3 install lyrebird

启动

lyrebird

连接移动设备

Lyrebird 接入有两种方式:

a. 设置代理

<img src="./image/connect-by-proxy.png" width="800">

b. 直连

<img src="./image/direct-connect.png" width="800">

查看及录制数据

现在,可以开始操作移动设备了。Lyrebird 将显示捕获到的 HTTP/HTTPS 请求。

选中请求后,可以将它保存到已激活的 mock 数据组中。

<img src="./image/inspector.gif" width="800">

使用 Mock 数据

激活 mock 数据选择器,选择 mock 数据后。经过 Lyrebird 的请求会被 mock,如果 mock 数据中没有匹配的数据,则会代理该请求。

可以在 DataManager 界面管理 mock 数据。

<img src="./image/inspector_mock.gif" width="800">

Mock 数据管理

mock 数据可由左边导航栏切换到 DataManager 界面进行编辑管理

<img src="./image/data_manager.gif" width="800">

插件

文档在建中


基本命令


感谢

本工具中的代理功能使用mitmproxy实现。

Contributors

<a href="https://github.com/Meituan-Dianping/lyrebird/graphs/contributors"> <img src="https://contrib.rocks/image?repo=Meituan-Dianping/lyrebird" /> </a>