前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动化录屏方案简介 for Android

自动化录屏方案简介 for Android

作者头像
用户5521279
发布2021-03-10 15:21:01
3.3K0
发布2021-03-10 15:21:01
举报
文章被收录于专栏:搜狗测试搜狗测试

前言

针对移动端项目的评测,为了记录并评估产品表现,时常需要对设备进行录屏以作后续分析。

那么,应该如何在Python脚本中可靠、可控地实现安卓设备录屏呢?下面简单分享一下小编的经验与心得。

adb命令

首先,在移动设备与PC进行连接后,通过adb命令进行录屏无疑是一种简单有效的方式:

代码语言:javascript
复制
# 录制命令 —— 参数 + 录屏文件路径
adb shell screenrecord [options] <filename>

关于命令参数options,常用的有 --size(视频分辨率大小),以及 --time-limit(控制录制视频的时间),体现在脚本中即是:

代码语言:javascript
复制
# 以1280*720的分辨率对设备进行10秒的录屏,视频存储在设备sd卡路径下
command = "adb shell screenrecord /sdcard/SDvideo.mp4 --time-limit 10 --size 1280*720"
os.system(command)

录屏结束后,将视频文件导出到PC任意路径下,即可得到所需录屏素材,如:

代码语言:javascript
复制
# 将所录制视频导出到电脑D盘
command = "adb pull /sdcard/SDvideo.mp4 D:/"

投屏工具scrcpy

很遗憾,虽然通过adb命令录屏非常方便,但由于权限限制,无法在安卓系统较高的设备上使用。小编经过调研后选取了开源的投屏工具scrcpy来解决这一问题。

软件的安装使用比较简单,不再赘述,下面主要介绍一下其录屏命令相关内容:

代码语言:javascript
复制
# 录制命令 + 录屏文件路径
# 按Ctrl+C以停止录制
command = "scrcpy --record file.mp4"
os.system(command)

移动设备连接PC后,执行以上命令,即可开始投屏与录制。考虑到评测执行的过程中无需在PC端进行投屏,可以选择关闭录屏过程中的屏幕镜像:

代码语言:javascript
复制
command = "scrcpy --no-display --record file.mp4"

不同于adb录屏命令,scrcpy无法直接设定录制时间。为了使录屏素材的时长可控,小编使用了结束进程命令的方式:

代码语言:javascript
复制
# mac上结束scrcpy录屏命令
command = "killall scrcpy"
# windows上结束scrcpy录屏命令
# 注意:windows上的TASKKILL不支持no-display形式的录屏
command = "TASKKILL /im scrcpy.exe"

由此,在脚本中合适的时机去执行结束命令,即可在当前工作路径下得到所录制的视频文件file.mp4。

结语

经小编实测,通过scrcpy录屏得到的视频质量上乘,足以作为项目评测中的分析素材进行使用。关于python脚本中实现安卓设备录屏的方式还有很多,欢迎大家留言沟通。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档