专栏首页搜狗测试自动化录屏方案简介 for Android

自动化录屏方案简介 for Android

前言

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

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

adb命令

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

# 录制命令 —— 参数 + 录屏文件路径
adb shell screenrecord [options] <filename>

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

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

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

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

投屏工具scrcpy

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

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

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

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

command = "scrcpy --no-display --record file.mp4"

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

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

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

结语

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

本文分享自微信公众号 - 搜狗测试(SogouQA),作者:初久

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-03-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android自动化之-python-uiautomator2入门简介

    python-uiautomator2是一个自动化测试开源工具,仅支持Android平台的原生应用测试。python-uiautomator2封装了谷歌自带的u...

    十四君
  • Android自动化测试解决方案

    Android自动化测试解决方案 桌面应用程序与浏览器端的自动化测试都已经历了十年的发展,无论是从工具上还是项目管理方 法论上都已经趋于成熟。而移动设备端应...

    用户1289394
  • 手机自动化测试IDE-----Airtest基本操作方法

    大家好,我是IT共享者,人称皮皮。这篇我们来讲讲手机自动化测试IDE-----Airtest。

    前端皮皮
  • AirTest 基本使用及框架浅剖析——五分钟上手制作游戏辅助

    Airtest Project 是为编写自动化脚本,达到提升测试效率的一整套解决方案。它可以轻松的扩展到多平台、多引擎上;如基础的 Android和IOS手机应...

    公众号 碧油鸡
  • AirTest 基本使用及框架浅剖析——五分钟上手制作游戏辅助

    Airtest Project 是为编写自动化脚本,达到提升测试效率的一整套解决方案。它可以轻松的扩展到多平台、多引擎上;如基础的 Android和IOS手机应...

    公众号 碧油鸡
  • 基于HT for Web的Web SCADA工控移动应用

    在电力、油田燃气、供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex、Silverligh...

    HT for Web
  • 基于HTML5的Web SCADA工控移动应用

    HT_hightopo
  • 基于HT for Web的Web SCADA工控移动应用

    HT_hightopo
  • Android 进阶之路(我的博客文章目录)

    版权声明:转载前请留言获得作者许可,转载后标明作者 张拭心 与 原文链接。大家都是成年人,创作不易,感谢您的支...

    张拭心 shixinzhang

扫码关注云+社区

领取腾讯云代金券