android 录屏自动运行,app自动化--Android通过adb录屏
使用背景
adb shell可正常使用
僅適用于Android4.4(API level 19)以上
.mp4格式 支持指定時長與分辨率
使用方法
官話:
白話
白話快速上手版:
# 開始錄制
adb shell screenrecord [options] filename
# 結束錄制 方法一
Conntrl + C
# 結束錄制 方法二
使用參數 --time-limit設置時間限制,不設置默認錄制3分鐘
# 從手機上傳視頻到PC
adb pull 錄屏在手機的存儲路徑
舉個🌰
# 切換進入adb shell
$ adb shell
# 開始視頻錄制 screenrecord后緊跟存儲路徑與視頻名稱
shell@ $ screenrecord /sdcard/demo.mp4
# 結束視頻錄制 不執行以下操作3分鐘后自動停止
(press Control + C to stop)
# 退出adb shell
shell@ $ exit
# 上傳視頻到PC端
$ adb pull /sdcard/demo.mp4
當然也可以直接使用adb shell screenrecord命令直接開始視頻錄制
白話版option解讀:
option
說明
- -help
查看詳細文檔
- - size width*height
設置視頻分辨率,默認值為設備原聲分辨率,若設備不支持則使用1280*720分辨率
- -bit-rate 數值
設置比特率,默認值為4Mbps,為了提升視頻質量可增加比特率,對應文件較大,同理為了節省存儲空間可減小比特率,例如screenrecord --bit-rate 6000000 /sdcard/demo.mp4需注意比特率單位
- -time-limit time 時長
設置最大錄制時長,單位為秒,默認值/最大值均為180s,即3分鐘
- -rotate
旋轉90度錄制視頻
- - verbose
在cmd中顯示日志信息,不加此參數后臺靜默運行
再舉個🌰
# 指定比特率為1Mpbs,分辨率為1280x720,存儲路徑為手機的/sdcard/demo.mp4
$ adb shell screenrecord --bit-rate 1000000 --size 1280x720 /sdcard/demo.mp4
這里沒有設置視頻錄制時長,那么需要通過Ctrl + C手動結束,或3分鐘后自動結束
封裝使用
在真的的app自動化測試過程中,將視頻錄制封裝成了可直接調用的method,監測到一個test開始時,調用start方法開始視頻錄制,在視頻結束時調用end方法結束視頻錄制,以下為start方法,可供參考
/**
*
* Start screen record.
*
* @param path Where screen record is saved in mobile devices.
**/
public void startScreenRecord(String path){
String cmd = "adb shell screenrecord --bit-rate 1000000 --size 1280x720" + path;
try{
Runtime.getRuntime().exec(cmd);
logger.info("---------->>>> Start screen record! <<<
}catch(Exception e){
logger.error("Start screen record occurred exception:{}, please check your method!", e.getMessage(), e);
}
}
提示:如果使用Eclipse編譯器,需要從terminal打開IDE,負責會提示adb命令找不到,影響視頻錄制的使用
總結
以上是生活随笔為你收集整理的android 录屏自动运行,app自动化--Android通过adb录屏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 没工作没流水怎么贷款 具有这样的条件也
- 下一篇: android.mk 优化编译,andr