【转载】原来stf还可以这样玩

简介: 本文原作者获得授权转载。带你深度了解STF的新玩法,同时了解岩鼠云设备平台!

*本文获得原作者授权转载

*
上班摸鱼逛论坛时, 无意中看到一个叫刚上线不久的, 叫岩鼠的云测平台,作为一个混迹于各个平台的资深云真机用户, 并且自己也在负责公司内部同类型的的云测平台, 自身对stf也比较熟悉, 于是很好奇地去深入挖掘了一些里面的技术细节, 发现该平台十分牛逼.

第一感觉

第一眼看下去, 非常清爽, 使用起来非常流畅, 进入真机几乎是秒开, 操作响应也非常及时, 而且右边的菜单区域还有不少他们扩展的功能, 他们家的iPhone使用起来还比较流畅, 总体使用起来, 感觉非常棒.
image.png

从技术的角度看看, 首先可以看出他们应该是基于openstf的

从消息的命名和前端的几个websocket连接, 看起来也是基于openstf去做的, 但可以看出他们在openstf的基础上做了很多扩展和优化.
例如这个stf后端与前端通信的主要的websocket:
wss://yanshu.effirst.com/socket.io/?EIO=3&transport=websocket
里面有十分多他们自己扩展的信息, 例如 webdebug.enable logcat.irmaStartSer 等.. 似乎都是对应云真机里面他们扩展的web调试 和 日志的功能的.
image.png

而且touch的消息也是与openstf一模一样, 可以断定, 他们也是基于openstf或者使用了openstf里面的minitouch.
image.png

另一个传输手机屏幕的websocket, 更惊喜了..

他们的屏幕数据传输量非常小...
image.png

对比我们自己的, 简直是差距太大了啊...
image.png

从devtools下面的16进制数据可以看出, 数据中都是0 0 0 1开头, 应该是使用了H264或者H265, 对比我们公司内部云测平台使用openstf的原生的方案, 数据量实在相差很大.

当前我们内部的云测平台, 手机屏幕的传输, 现在遇到的瓶颈主要有2个, 帧率和带宽. 我司的渣渣WIFI, 绝大部分情况下最大的下载速度, 也就只有2.5MB/s左右, 即使我们调低了minicap输出的图片质量, 在我们可以接受的画质下, 最终输出的图片质量一张也50KB左右, 如果到达30帧时, 就已经吃掉了我们的电脑一大半的带宽了, 再连个adb调试, 也比较吃力, 另外我们有一些国产机型, minicap的帧率最高只有不到16帧, 日常用起来体验还是能感觉到卡.

看到岩鼠的方案, 应该是和https://github.com/Genymobile/scrcpy的方案一样, 直接通过反射调用安卓的SurfaceControl私有API, 把屏幕传给MediaCodec, 由系统去做录屏, 最终编码成H264, 通过websocket发送给前端的video做展示. 使用这样的方式, 在画面快速变化时, 基本都可以达到60帧, 并且流量能通过编码器的码率控制, 由于视频的压缩方式优势, 视频流能极大的减少了带宽, 并且提供高达60帧, 也不用考虑带宽过大的问题. 这块对于我们优化minicap的方案, 提供了一个新的思路.

我也要把这个方案搬到我司的内部云测平台上~~~

非常方便的Web调试

另外很吸引的我功能就是调试的tab里面的内容, 细玩了一下, 居然能直接在在右边区域, 调试手机里面的网页... 这波操作非常6, 对于前端开发者来说, 非常方便.
image.png
image.png

更神奇的是, 居然iOS也能直接在网页通过devtools调试...而且体验还不差, safari该有的功能他也有.
平时我们调试iOS的网页, 都需要把手机插到自己mac, 使用mac的safari才能调. 至于他怎么做, 我不熟悉iOS, 还真不知道了...
image.png

这个web调试功能, 我绝对服气, 市面上还没看到有竞品可以做到.

先说这么多了, 下次再深挖一些岩鼠里面的一些更深入的技术细节, 我也要去规划一下我司内部的云测平台的优化计划.

免费试用岩鼠云设备平台

看了小编转载的文章,想不想赶快试用下岩鼠云真机呢?每天都有免费试用体验额度哦。复制下面链接到浏览器了解详情!
>>>点击访问岩鼠云设备平台<<<

相关文章
|
编解码 前端开发 测试技术
这可能是市面上最好用的iOS云真机
最好用的iOS云真机,是怎么实现的呢?快来了解下吧!
4214 0
这可能是市面上最好用的iOS云真机
|
Web App开发 监控 前端开发
10分钟彻底搞懂前端页面性能监控
前端页面性能是一个非常核心的用户体验指标。本文介绍阿里UC 岳鹰全景监控平台 如何设计一个通用、低侵入性、自动上报的页面性能监控方案。主要采用的是Navigation Timing API以及sendBeacon等方法。
3696 0
10分钟彻底搞懂前端页面性能监控
|
移动开发 Java
java发送post请求,使用multipart/form-data的方式传递参数
java发送post请求,使用multipart/form-data的方式传递参数
2468 0
|
7月前
|
人工智能 移动开发 自然语言处理
数字人公司哪家好?头部数字人企业厂商核心竞争力解析
世优科技推出“世优波塔AI数字人智能体”,融合高拟真建模、多模态交互与全终端部署,已在政务、文旅、教育、医疗等领域实现规模化落地。凭借180+面部控制点、99.5%口型同步精度及1.5-2秒极速响应,打造自然交互体验。支持SaaS、私有化等多元交付,服务超千家客户,入选“第五届数字人场景应用典型案例”,助力数字人从技术走向产业实用。
321 1
|
消息中间件 存储 缓存
RocketMQ原理—4.消息读写的性能优化
本文详细解析了RocketMQ消息队列的核心原理与性能优化机制,涵盖Producer消息分发、Broker高并发写入、Consumer拉取消息流程等内容。重点探讨了基于队列的消息分发、Hash有序分发、CommitLog内存写入优化、ConsumeQueue物理存储设计等关键技术点。同时分析了数据丢失场景及解决方案,如同步刷盘与JVM OffHeap缓存分离策略,并总结了写入与读取流程的性能优化方法,为理解和优化分布式消息系统提供了全面指导。
RocketMQ原理—4.消息读写的性能优化
|
9月前
|
安全 Java 数据库连接
JUC系列之《并发流程控制大师:Semaphore》
Semaphore是JUC中用于控制并发访问资源数量的工具,通过“许可证”机制限制同时访问特定资源的线程数,适用于数据库连接池、限流等场景,具备公平与非公平模式,是高效管理资源并发的安全利器。(239字)
|
9月前
|
数据采集 存储 监控
构建定时监控系统,轻松爬取番茄小说最新章节
构建定时监控系统,轻松爬取番茄小说最新章节
|
12月前
|
监控 算法 决策智能
基于盲源分离与贝叶斯非局部均值的图像降噪算法
基于盲源分离与贝叶斯非局部均值的图像降噪算法
428 0
|
安全 Unix 虚拟化
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
819 11
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
|
Linux 测试技术 调度
新工具开源!一款iOS自动化利器(附地址)
tidevice 是阿里的内部的一个小组用来做 iOS 自动化用的工具,通过逆向iOS通信协议,使用纯Python实现。目前淘宝和其他部分事业部已经全面使用了该技术,进行iOS应用的性能采集,UI自动化。
3114 0
新工具开源!一款iOS自动化利器(附地址)

热门文章

最新文章