天天看點

【轉載】原來stf還可以這樣玩

*本文獲得原作者授權轉載

*

上班摸魚逛論壇時, 無意中看到一個叫剛上線不久的, 叫岩鼠的雲測平台,作為一個混迹于各個平台的資深雲真機使用者, 并且自己也在負責公司内部同類型的的雲測平台, 自身對stf也比較熟悉, 于是很好奇地去深入挖掘了一些裡面的技術細節, 發現該平台十分牛逼.

第一感覺

第一眼看下去, 非常清爽, 使用起來非常流暢, 進入真機幾乎是秒開, 操作響應也非常及時, 而且右邊的菜單區域還有不少他們擴充的功能, 他們家的iPhone使用起來還比較流暢, 總體使用起來, 感覺非常棒.

【轉載】原來stf還可以這樣玩

從技術的角度看看, 首先可以看出他們應該是基于openstf的

從消息的命名和前端的幾個websocket連接配接, 看起來也是基于openstf去做的, 但可以看出他們在openstf的基礎上做了很多擴充和優化.

例如這個stf後端與前端通信的主要的websocket:

wss://yanshu.effirst.com/socket.io/?EIO=3&transport=websocket

裡面有十分多他們自己擴充的資訊, 例如 webdebug.enable logcat.irmaStartSer 等.. 似乎都是對應雲真機裡面他們擴充的web調試 和 日志的功能的.

【轉載】原來stf還可以這樣玩

而且touch的消息也是與openstf一模一樣, 可以斷定, 他們也是基于openstf或者使用了openstf裡面的minitouch.

【轉載】原來stf還可以這樣玩

另一個傳輸手機螢幕的websocket, 更驚喜了..

他們的螢幕資料傳輸量非常小...

【轉載】原來stf還可以這樣玩

對比我們自己的, 簡直是差距太大了啊...

【轉載】原來stf還可以這樣玩

從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, 對于前端開發者來說, 非常友善.

【轉載】原來stf還可以這樣玩
【轉載】原來stf還可以這樣玩

更神奇的是, 居然iOS也能直接在網頁通過devtools調試...而且體驗還不差, safari該有的功能他也有.

平時我們調試iOS的網頁, 都需要把手機插到自己mac, 使用mac的safari才能調. 至于他怎麼做, 我不熟悉iOS, 還真不知道了...

【轉載】原來stf還可以這樣玩

這個web調試功能, 我絕對服氣, 市面上還沒看到有競品可以做到.

先說這麼多了, 下次再深挖一些岩鼠裡面的一些更深入的技術細節, 我也要去規劃一下我司内部的雲測平台的優化計劃.

免費試用岩鼠雲裝置平台

看了小編轉載的文章,想不想趕快試用下岩鼠雲真機呢?每天都有免費試用體驗額度哦。複制下面連結到浏覽器了解詳情!

>>>點選通路岩鼠雲裝置平台<<<

繼續閱讀