先导预告
作为一名测试工程师,每天可能都会面临从不同的设备导出截图或视频的工作,有些可能是bug截图或bug回放视频,有些截图可能是提供给PM或UI验收等等。 常规操作是iOS设备可以借助于iTools等工具导出;而安卓设备可能需要从设备文件系统中找到相册,再从相册中找出要导出的视频或图片。 其他方案是通过微信或QQ导出等。
问题
由于安卓厂商繁多,各个厂商不一,测试时有些设备可能是临时借用的测试机,不太熟悉设备文件系统的路径,导出图片或视频时会浪费一些不必要的时间,如果通过微信或QQ需要进行登录登出操作,也很繁琐,如果你也遇到了这些问题,那么本文会帮你解决烦恼哦。本文主要是解决安卓设备导出图片和视频导出成本高的问题。
思路
安卓设备上守护进程 (adbd)可支持运行adb命令,且adb提供了截图和录屏命令。因此,先利用adb截图和录屏命令将截图和视频保存在设备上,然后将截图和视频导出到电脑上的固定路径下,最后将设备上的截图和视频删除。 将以上步骤封装在一个脚本中,当需要截图或录屏时只需要小手一点,一步实现。
解决方案
1、通过adb命令将截图和视频保存在设备上临时目录
2、将设备临时目录下的视频和图片push到电脑
3、删除设备上的图片和视频
以上步骤的操作命令复制到bat或sh脚本中,然后在命令行中执行bat或sh脚本,即可实现一键式截图和录制视频了。下面有具体示例可参考,你值得一试哦!
具体示例
屏幕截图 screenshot.bat
#第一步 截屏临时保存到 Android 系统的临时目录
adb shell screencap -p /data/local/tmp/screenshot.png
#第二步 将截图上传到PC本地
adb push /data/local/tmp/screenshot.png C:\Users\xxx\Desktop\screenshot.png
#第三步 删除Android系统临时目录生成的截图
adb shell rm /data/local/tmp/demo.png
复制代码
屏幕录制 screenrecord.bat
#第一步 录制屏幕临时保存到 Android 系统的临时目录
adb shell screenrecord --bugreport --time-limit 20 /data/local/tmp/screenrecord.mp4
#第二步 将录屏视频上传到PC本地
adb push /data/local/tmp/demo.mp4
C:\Users\xxx\Desktop\screenrecord.mp4
#第三步 删除Android系统临时目录生成的录屏视频
adb shell rm /sdcard/demo.mp4
复制代码
环境数据准备
1、Android设备,且开启USB调试
2、配置adb环境的电脑一台
3、USB数据线,注意有些仅有充电功能,没有数据传输功能
4、命令参数调试,如下
可通过adb shell screenrecord --help查看帮助命令,截取部分如下
\--bugreport Add additional information, such as a timestamp overlay, that is helpful in videos captured to illustrate bugs. --time-limit TIME Set the maximum recording time, in seconds. Default / maximum is 180.
读完本文或许你会好奇adb到底是什么,它的工作原理是什么,它有什么功能,学习它有什么好处呢?
后续会更新adb的工作原理和以及它的主要功能,敬请期待!
感兴趣的小伙伴可以WeChat公众号:琦哥私房菜
或扫描下方图片即可获取最新文章啦。