Meituan-Dianping / lyrebird

移动应用插件化测试工作台
https://meituan-dianping.github.io/lyrebird/
MIT License
1.17k stars 246 forks source link

能否支持 ws / wss 等协议? #756

Open iwakura-lain opened 1 year ago

iwakura-lain commented 1 year ago

在当前版本的基础上添加了官方的 websocket inject 示例脚本,启动时通过 -s 指定了该脚本。通过 log 可以打印出 websocket 信息,但是平台上 Inspector 和 Inspector Pro 都没有 websocket 信息,请问下能否支持 ws/wss 这类协议?或者能否提供一点修改思路,能够让 ws:// 被录制?十分感谢

zhaoye commented 1 year ago

在当前版本的基础上添加了官方的 websocket inject 示例脚本,启动时通过 -s 指定了该脚本。通过 log 可以打印出 websocket 信息,但是平台上 Inspector 和 Inspector Pro 都没有 websocket 信息,请问下能否支持 ws/wss 这类协议?或者能否提供一点修改思路,能够让 ws:// 被录制?十分感谢


简单的介绍一下思路: 可以参考插件开发相关的文档。实现一个自定义的ws服务,该服务上的数据可以作为事件写入Lyrebird eventbus。这样就可以在Inspector Pro上看到了。


插件开发相关文档

https://meituan-dianping.github.io/lyrebird/develop/plugin.html


向eventbus发送消息的方法

import lyrebird
lyrebird.publish

方法说明:https://github.com/Meituan-Dianping/lyrebird/blob/4bdf22871d32c58a90fd5e794d593c22a1f42cc3/lyrebird/__init__.py#L48-L58


订阅eventbus中指定消息的方法

import lyrebird
lyrebird.subscribe

方法说明:https://github.com/Meituan-Dianping/lyrebird/blob/4bdf22871d32c58a90fd5e794d593c22a1f42cc3/lyrebird/__init__.py#L36-L45


@iwakura-lain 希望能帮到你