當前位置:
首頁 > 最新 > 大哥,高速截屏工具了解一下?

大哥,高速截屏工具了解一下?

近期在自動化測試過工作中接觸到截屏的功能,使用Android原生的截圖工具實在效率低下,研究了下minicap這個經典工具,和大家分享下學習歷程。

GIF

minicap

minicap是STF(or Smartphone Test Farm 開源的web遠程批量設備管理系統)框架的依賴工具,作為服務端實時向web端傳輸Android設備的屏幕截屏數據流,已經在github上開源維護了近3年,一直非常活躍,最近更新並適配了Android 8.1,業內應用廣泛。測算性能比較好的手機可以達到30-40FPS的截屏速度。

在ZUK Z2 Pro機型上使用原生screencap工具截屏並輸出到圖像需要4s多,對比minicap則只需要190ms,差距明顯。minicap使用了libjpeg-turbo作為編碼壓縮工具,壓縮後的圖片體積更小1080P解析度的手機截圖根據色彩豐富度不同一般只需要100k,sceencap則需要2M。

GIF

安裝使用

minicap是NDK開發的native工具,分為minicap可執行文件和minicap.so庫。由於minicap.so調用了一些私有API,所以必須依賴AOSP源碼環境編譯。minicap可執行文件需要自己編譯,如果不想搭建NDK環境編譯可以到GitHub上下載(https://github.com/Lukai912/minicap_build)

這裡不對minicap做socket配置,只使用其截圖功能。如果有需要可以參考(https://github.com/openstf/minicap)。

push文件

查看手機支持的ABI

查看手機SDK版本

然後將對應版本和SDK的可執行文件與so庫push到手機中

adb push libs/$ABI/minicap /data/local/tmp/

adb push jni/minicap-shared/aosp/libs/android-$SDK/$ABI/minicap.so /data/local/tmp/

修改minicap可執行文件的可執行許可權

chmod 777 /data/local/tmp/minicap

測試工具

執行minicap的參數

-P後面是手機屏幕的解析度

adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 –t

如果有如下顯示則表示工具已經安裝成功可以使用了

保存截圖並pull到手機

附上簡單的python腳本

這篇總結了下minicap脫離STF使用的方法,自己在初次使用時遇到一些不便,希望能幫助同學們避免踩坑,更好的集成到現有的測試或開發業務中。下篇會繼續分析minicap源碼及截圖方案對比。

Qtest是360旗下的專業測試團隊!

是WEB平台部測試技術平台化、效率化的先鋒力量!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Qtest之道 的精彩文章:

對功能測試的一些思考

TAG:Qtest之道 |