All Projects → Meituan-Dianping → Lyrebird

Meituan-Dianping / Lyrebird

Licence: mit
移动应用插件化测试工作台

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Lyrebird

ts-mock-imports
Intuitive mocking library for Typescript class imports
Stars: ✭ 103 (-84.46%)
Mutual labels:  mock, testing-tools
deckard
DNS test harness
Stars: ✭ 28 (-95.78%)
Mutual labels:  mock, testing-tools
main
Mocks Server monorepo
Stars: ✭ 109 (-83.56%)
Mutual labels:  mock, testing-tools
Mockingbird
Simplify software testing, by easily mocking any system using HTTP/HTTPS, allowing a team to test and develop against a service that is not complete or is unstable or just to reproduce planned/edge cases.
Stars: ✭ 149 (-77.53%)
Mutual labels:  proxy, mock
Mastermind
Man in the middle testing
Stars: ✭ 341 (-48.57%)
Mutual labels:  proxy, mock
ruby-dns-mock
DNS mock server written on 💎 Ruby. Mimic any DNS records for your test environment with fake DNS server.
Stars: ✭ 50 (-92.46%)
Mutual labels:  mock, testing-tools
dubbo-mock
dubbo mock web server
Stars: ✭ 62 (-90.65%)
Mutual labels:  mock, testing-tools
Foxman
🍥 an extensible mock server
Stars: ✭ 76 (-88.54%)
Mutual labels:  proxy, mock
DeepfakeHTTP
DeepfakeHTTP is a web server that uses HTTP dumps as a source for responses.
Stars: ✭ 373 (-43.74%)
Mutual labels:  mock, testing-tools
Retromock
Java library for mocking responses in a Retrofit service.
Stars: ✭ 48 (-92.76%)
Mutual labels:  mock, testing-tools
Hoverfly
Lightweight service virtualization/API simulation tool for developers and testers
Stars: ✭ 1,814 (+173.6%)
Mutual labels:  proxy, testing-tools
Miragejs
A client-side server to build, test and share your JavaScript app
Stars: ✭ 4,384 (+561.24%)
Mutual labels:  mock, testing-tools
Hoverfly Java
Java binding for Hoverfly
Stars: ✭ 130 (-80.39%)
Mutual labels:  proxy, testing-tools
mocat
🐈 Mocat is a mocking toolbar that allows you to interactively develop and test network requests.
Stars: ✭ 27 (-95.93%)
Mutual labels:  mock, testing-tools
Mitm Scripts
🔄 A collection of mitmproxy inline scripts
Stars: ✭ 109 (-83.56%)
Mutual labels:  proxy, testing-tools
laika
Log, test, intercept and modify Apollo Client's operations
Stars: ✭ 99 (-85.07%)
Mutual labels:  mock, testing-tools
Mockito Scala
Mockito for Scala language
Stars: ✭ 231 (-65.16%)
Mutual labels:  testing-tools, mock
Wiremockui
Wiremock UI - Tool for creating mock servers, proxies servers and proxies servers with the option to save the data traffic from an existing API or Site.
Stars: ✭ 38 (-94.27%)
Mutual labels:  proxy, mock
mockafka
A testing DSL for kafka-streams
Stars: ✭ 14 (-97.89%)
Mutual labels:  mock, testing-tools
Mockttp
Powerful friendly HTTP mock server & proxy
Stars: ✭ 346 (-47.81%)
Mutual labels:  proxy, testing-tools

Lyrebird

Unit Test E2E Test Publish to pypi Publish Docker image Language grade: Python Language grade: JavaScript

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/Windows
  • Python >= 3.6
# 推荐使用Homebrew(https://brew.sh/#install)安装Python3
brew install python3

Windows需要的额外步骤:

  • 下载并安装编译版 OpenSSL
  • 设置系统环境变量(根据实际路径调整)
    • LIB = C:\Program Files\OpenSSL-Win64\lib
    • INCLUDE = C:\Program Files\OpenSSL-Win64\include

安装

# 安装lyrebird
pip3 install lyrebird

启动

lyrebird

连接移动设备

  • 启动 Lyrebird 后,移动设备需要通过代理的方式将请求数据接入。

  • 将移动设备的代理地址设为当前电脑地址,默认端口为 4272(IP 地址可查看 Lyrebird 启动时输出的日志)

  • 被测设备上用浏览器打开 http://mitm.it, 选择对应操作系统安装证书

Lyrebird 接入有两种方式:

a. 设置代理

b. 直连

查看及录制数据

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

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

使用 Mock 数据

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

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

Mock 数据管理

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


插件


基本命令

  • lyrebird

    以缺省参数启动 lyrebird

  • lyrebird -v

    以输出详细日志模式启动 lyrebird

  • lyrebird -b

    启动 lyrebird 不默认打开浏览器

  • lyrebird --mock 9090 --proxy 4272 --data . --config your/config/file

    指定参数启动 lyrebird

    参数:

      --mock 默认9090 , mock服务及前端端口
    
      --proxy 默认4272, 代理服务端口
    
      --data 默认./data, mock数据根目录
    
      --config 默认~/.lyrebird/conf.json, lyrebird启动配置
    

感谢

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

Contributors

This project exists thanks to all the people who contribute.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].