此文章来源于项目官方公众号:“AirtestProject”\
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

一、前言

很多同学在跑测过程中都希望可以不用一直盯着跑测画面,又希望可以在跑测后复核跑测结果,那么 Airtest 所提供的录屏方法会是很好的选择。目前该录屏方法已经兼容了 Android、iOS、Windows 上的脚本跑测录制,本周就让我们来看一下这个方法的魔力吧。

二、录屏操作

2.1 脚本录屏方式

使用脚本录屏方式是我们最常用的,最重要的是使用下面两个函数。

#开始录制
start_recording(max_time, output, fps, mode, snapshot_sleep, orientation, bit_rate_level, bit_rate, max_size)

#结束录制
stop_recording(output=None, is_interrupted=None)

其中start_recording()的参数包括:

特别注意:原先 output 参数在 stop_recording 中,现在改为在 start_recording 里!

ffmpeg :对机型兼容较好,但 cpu 占用较高,第一次运行将会预先下载ffmpeg,有一定的额外空间占用(几十 M)

cv2 :无需占用额外空间,生成的视频体积比ffmpeg更大,当前已经被舍弃了

yosemite :Android 旧版本的录屏方案,假如当前设备是 Android,默认会使用这个模式录屏,必须要事先安装 Yosemite.apk ,并支持旧的参数,帧率比ffmpegcv2要高,但兼容性差,有一些手机不支持

大家也知道,就是从 Airtest 1.2.9 版本之后,我们的录屏方法升级了全面兼容了 Windows、Android、iOS 设备,其中只有 Android 需要mode参数,默认为yosemite模式;Window/iOSstart_recording不再需要有mode参数;

对于Android 的录屏模式,我们可以按需去选择自己所需要的模式:

2.2 命令行录屏方式

如果是对 Android 手机使用命令行在运行脚本的时候,开启对屏幕的录制,可以在运行脚本的命令行中加入--recording参数即可:

airtest run "D:\test\Airtest_example.air"  --device android:/// --log logs/ --recording

运行结束后,录屏文件会默认保存在log 文件夹里面,并且默认使用 recording_手机序列号 来命名录屏文件。如果需要指定视频的文件名,可以在--recording 后输入自己需要自定义的名称,如:--recording test.mp4 。但如果需要指定文件名且有多台设备时,则可以输入--recording test.mp4,但实际的文件命名会为手机序列号_test.mp4。需要注意的是,我们传入的文件名必须以.mp4为后缀名

使用命令行录屏的方式,默认录屏文件最长为 1800 秒,如果需要录制更长时间,需要手动在代码中调用录屏接口!

三、在不同平台上的录屏演示

Android 设备脚本实现录制的演示:

Android 设备用命令行的方式去录制的演示:

iOS 设备脚本实现录制的演示:

Windows 窗口脚本实现录制的演示:

六、小结

我们本周详细介绍了 Airtest 所提供的录屏方法,也将start_recording()的传入参数也逐个介绍了一遍,大家也可以根据自己的需求去编写自己所需的跑测脚本,如果有其他更好的脚本跑测录屏方式,也欢迎大家给我们投稿分享一下~

同时如果大家在使用过程中有一些其他新的使用方式或者遇到了问题,又或者有任何想要深入了解的知识点,欢迎在官方交流群(526033840)里告诉我们或者提交 issue。


AirtestIDE 下载:airtest.netease.com/\
Airtest 教程官网:airtest.doc.io.netease.com/\
搭建企业私有云服务:airlab.163.com/b2b

官方答疑 Q 群:526033840


↙↙↙阅读原文可查看相关链接,并与作者交流