前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一分钟教你Android、iOS如何实现自动化录屏,超实用!

一分钟教你Android、iOS如何实现自动化录屏,超实用!

作者头像
岛哥的质量效能笔记
发布2021-08-18 15:14:49
1.9K0
发布2021-08-18 15:14:49
举报
文章被收录于专栏:岛哥的质量效能笔记

阅读本文大约需要1分钟。

点击?小卡片,回复 “合集” 获取系统性的学习笔记和测试开发技能图谱

背景

在做移动端自动化测试的过程中,有很多场景需要录制设备的屏幕视频,比如Crash现场记录,启动/页面加载耗时类的评测等,那么如何实现Android和iOS设备的屏幕录制呢?

Android

其实Android系统本身提供了一个简单的adb命令实现,虽然在有些设备上存在兼容性问题,比如华为手机出厂就删除了 screenrecord 录屏工具,不过在大部分机型上还是可以适用的(针对这个适配问题,后面会专门写一篇文章介绍一种兼容所有机型的方案),今天先来分享一下这个系统的原生实现。

这里推荐一个开源的框架adbutils,他是一个用纯Python实现的adb服务,里面对原生的screenrecord做了比较好的封装,先装依赖:

代码语言:javascript
复制
pip3 install adbutils

连接ADB Server:

代码语言:javascript
复制
import adbutils

adb = adbutils.AdbClient(host="127.0.0.1", port=5037)
print(adb.devices())

录屏方法:

代码语言:javascript
复制
# run screenrecord to record screen
r = d.screenrecord()
# sleep for a while, can not large then 3 minutes
r.stop() # stop recording
r.stop_and_pull("video.mp4") # stop recording and pull video to local, then remove video from device

# control start time manually
r = d.screenrecord(no_autostart=True)
r.start() # start record
r.stop_and_pull("video.mp4") # stop recording and pull video to local, then remove video from device

iOS

系统要求

  • iOS系统8.0以上
  • MacOS系统10.10以上

安装

下载仓库源码,目前这个自动化录屏工具是一个二进制的文件,在代码仓库的bin目录下:

代码语言:javascript
复制
git clone https://github.com/WPO-Foundation/xrecord.git

介绍

代码语言:javascript
复制
xrecord --help
-l, --list: List available capture devices.
-n, --name: Device Name.
-i, --id: Device ID.
-o, --out: Output File.
-f, --force: Overwrite existing files.
-q, --quicktime: Start QuickTime in the background (necessary for iOS recording).
-t, --time: Recording time in seconds (records until stopped if not specified).
-u, --quality: Recoding quality (low, medium, high, photo - defaults to high).
-d, --debug: Display debugging info to stderr.
-h, --help: Prints a help message.

使用

列出可捕获的设备:

代码语言:javascript
复制
$ xrecord --quicktime --list
Available capture devices:
AppleHDAEngineInput:1B,0,1,0:1: Built-in Microphone
5f355a5b183b2d2d7ba91dcfadd4c14b98504642: iPhone
CC2437519T1F6VVDH: FaceTime HD Camera

开始录屏:

代码语言:javascript
复制
$ xrecord --quicktime --name="iPhone" --out="out.mp4" --force -q -t 10

今天是利用Android和iOS各自的平台特性来实现屏幕录制的,后面还会给大家分享一种跨平台的屏幕录制方案,敬请期待!

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

本文分享自 岛哥的质量效能笔记 微信公众号,前往查看

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

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

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