此篇文章转载测试开发者社区公众号:
背景
在做移动端自动化测试的过程中,有很多场景需要录制设备的屏幕视频,比如Crash现场记录,启动/页面加载耗时类的评测等,那么如何实现Android和iOS设备的屏幕录制呢?
Android
其实Android系统本身提供了一个简单的adb命令实现,虽然在有些设备上存在兼容性问题,比如华为手机出厂就删除了 screenrecord 录屏工具,不过在大部分机型上还是可以适用的(针对这个适配问题,后面会专门写一篇文章介绍一种兼容所有机型的方案),今天先来分享一下这个系统的原生实现。
这里推荐一个开源的框架adbutils,他是一个用纯Python实现的adb服务,里面对原生的screenrecord做了比较好的封装,先装依赖:
pip3 install adbutils
连接ADB Server:
import adbutils
adb = adbutils.AdbClient(host="127.0.0.1", port=5037)
print(adb.devices())
录屏方法:
# run screenrecord to record screen
r = d.screenrecord()
# sleep for a while, can not large then 3 minutes