【转载】原来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调试功能, 我绝对服气, 市面上还没看到有竞品可以做到.

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

免费试用岩鼠云设备平台

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

相关文章
|
安全 测试技术 网络安全
|
消息中间件 Dubbo 中间件
在 Docker 中运行 Mac OS 是什么样的体验?
在 Docker 中运行 Mac OS 是什么样的体验?
|
8月前
|
资源调度 前端开发 JavaScript
Mac电脑如何安装Cypress?
Mac电脑如何安装Cypress?
226 0
|
Linux Shell
Mac 安装Homebrew方案
Mac 安装Homebrew方案
|
前端开发 JavaScript 测试技术
Mac 电脑如何安装cypress?
大家好,我是阿萨。之前有一篇文章,介绍了UI自动化与API自动化已经开始互斥了吗?文中讲解了UI 自动化以及API 自动化的优缺点。前面1-2个月也学习了APIFox 合集, Postman 合集以及Wireshark 合集。API 自动化测试不用愁了。 可是有些同学还想学习UI 自动化。作为Web UI 自动化 Selenium 是必备技能,已经被玩烂了。随处可见。 这次我们学习一个高级的前端自动化框架。Cypress。
377 0
Mac 电脑如何安装cypress?
|
Linux 程序员 网络安全
Mac下vagrant从安装到体验
Mac下使用虚拟机时,通过vagrant+virtualbox的组合是个不错的方案,本文就一起来实战虚拟机的快速搭建
272 0
Mac下vagrant从安装到体验
STF 使用系列心得 [安装篇]
STF 使用系列心得 [安装篇]
560 0
STF 使用系列心得 [安装篇]
|
Kubernetes Cloud Native 网络安全
在Mac上运行Rainbond,10分钟快速安装
以往安装部署 Rainbond 的方式都无法绕过 Kubernetes 集群的搭建,无论是作为开发环境还是用于生产交付,部署的过程都非常依赖于服务器或云主机。这在体验 Rainbond 云原生应用管理平台的过程中设置了较高的门槛。然而对于个人开发者而言,准备一台服务器甚至多台服务器,才可以体验到这种企业级产品,是非常奢侈的。从今天开始,Rainbond 开辟了一条可以快速体验的道路,借助常见的个人 PC 平台(诸如 MacOS、Windows 等操作系统)上的 Docker Desktop ,以启动一个容器作为代价,提供一个全功能的 Rainbond 体验环境。这个部署过程被压缩到了 「一条命
在Mac上运行Rainbond,10分钟快速安装
|
Java macaca 开发工具
从无到有搭建Macaca环境(for Mac)
官方环境配置教程:[https://macacajs.com/environment-setup](https://macacajs.com/environment-setup) Macaca官方提供了环境配置指南(地址如上),但官方文档中多处是针对有相应开发经验的同学介绍,对于新手来讲入门成本较高,且我们在实践中也常会遇到一些问题,导致环境配置受阻,本文基于笔者配置中的经验,总结了配置过
9692 0

热门文章

最新文章