美文网首页
app自动化--Android通过adb录屏

app自动化--Android通过adb录屏

作者: CosetteQ | 来源:发表于2019-01-14 16:55 被阅读0次

    使用背景

    • adb shell可正常使用
    • 仅适用于Android4.4(API level 19)以上
    • .mp4格式 支持指定时长与分辨率

    使用方法

    官话:

    Android Developer文档

    白话

    白话快速上手版:

    # 开始录制
    adb shell screenrecord [options] filename
    # 结束录制 方法一
    Conntrl + C
    # 结束录制 方法二
    使用参数 --time-limit设置时间限制,不设置默认录制3分钟
    # 从手机上传视频到PC
    adb pull 录屏在手机的存储路径
    

    举个🌰

    # 切换进入adb shell
    $ adb shell
    # 开始视频录制 screenrecord后紧跟存储路径与视频名称
    shell@ $ screenrecord /sdcard/demo.mp4
    # 结束视频录制 不执行以下操作3分钟后自动停止
    (press Control + C to stop)
    # 退出adb shell
    shell@ $ exit
    # 上传视频到PC端
    $ adb pull /sdcard/demo.mp4
    

    当然也可以直接使用adb shell screenrecord命令直接开始视频录制

    白话版option解读:

    option 说明
    - -help 查看详细文档
    - - size width*height 设置视频分辨率,默认值为设备原声分辨率,若设备不支持则使用1280*720分辨率
    - -bit-rate 数值 设置比特率,默认值为4Mbps,为了提升视频质量可增加比特率,对应文件较大,同理为了节省存储空间可减小比特率,例如screenrecord --bit-rate 6000000 /sdcard/demo.mp4需注意比特率单位
    - -time-limit time 时长 设置最大录制时长,单位为秒,默认值/最大值均为180s,即3分钟
    - -rotate 旋转90度录制视频
    - - verbose 在cmd中显示日志信息,不加此参数后台静默运行

    再举个🌰

    # 指定比特率为1Mpbs,分辨率为1280x720,存储路径为手机的/sdcard/demo.mp4
    $ adb shell screenrecord --bit-rate 1000000 --size 1280x720 /sdcard/demo.mp4
    

    这里没有设置视频录制时长,那么需要通过Ctrl + C手动结束,或3分钟后自动结束

    封装使用

    在真的的app自动化测试过程中,将视频录制封装成了可直接调用的method,监测到一个test开始时,调用start方法开始视频录制,在视频结束时调用end方法结束视频录制,以下为start方法,可供参考

    /**
         * <p>
         *     Start screen record.
         * </p>
         * @param path Where screen record is saved in mobile devices.
    **/
    public void startScreenRecord(String path){
        String cmd = "adb shell screenrecord --bit-rate 1000000 --size 1280x720" + path;
        try{
                Runtime.getRuntime().exec(cmd);
                logger.info("---------->>>> Start screen record! <<<<---------");
        }catch(Exception e){
            logger.error("Start screen record occurred exception:{}, please check your method!", e.getMessage(), e);
        }
    }
    

    提示:如果使用Eclipse编译器,需要从terminal打开IDE,负责会提示adb命令找不到,影响视频录制的使用

    相关文章

      网友评论

          本文标题:app自动化--Android通过adb录屏

          本文链接:https://www.haomeiwen.com/subject/qedjdqtx.html