专栏文章 Airtest 新增 iOS、Windows 录屏功能,真香!

fishfish-yu · 2023年03月28日 · 6439 次阅读

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

1. 前言

在录屏这块,Airtest 之前一直仅支持了 Android 设备,但 Airtest1.2.9 的新版录屏功能里,新增了 iOS 和 Windows 的录屏支持。

下文我们将详细了解这个新的录屏功能,以及实操下在 iOS 设备或者 Windows 端的录屏操作。

2. Airtest 录屏功能介绍

熟悉 Airtest 的同学都知道,我们可以用 start_recordingstop_recording 来开启和结束录屏,但是自 Airtest1.2.9 起,录屏接口的参数有了一些变化;函数 start_recording() 的参数修改如下:

  • max_time : 录屏最长时间限制,默认为 1800,单位是秒
  • output : 录像保存文件地址, 默认为 None ,将会自动保存在 log 目录下,自动以当前时间命名

  • fps=10 :输出视频的帧率,目前暂时限定不超过 10fps,默认为 10(仅对 ffmpeg 和 cv2 生效)

  • mode="ffmpeg" : 保存视频的技术方案,可选 'ffmpeg' 'cv2' 'yosemite'

  • snapshot_sleep=0.001 : 截图间隔

  • orientation=0 : 视频朝向模式 1 为竖屏;模式 2 为横屏;模式 0 为方形填充,默认是 0

其中大部分参数使用默认值即可,最重要的参数有两个:

① 新增参数 orientation
当跑测过程中大部分时间是竖屏时,可以考虑将 orientation=1 ,或 orientation="portrait"

dev = device()
dev.start_recording(output="test.mp4",orientation=1)

sleep(10)
dev.stop_recording()

② 当跑测过程中大部分是横屏,可以 orientation=2 ,或 orientation="lanscape" ,适合游戏等横屏应用;

dev = device()
dev.start_recording(output="test.mp4",orientation=2)

sleep(10)
dev.stop_recording()

建议:画面固定横屏/竖屏时,我们更建议指定参数 orientation 的值,这样可以减少录屏的黑边问题

③ 横竖屏都有可能的话,可以不指定参数,默认值为 0,会用一个正方形来容纳视频内容,方便横竖屏转换

dev = device()
dev.start_recording(output="test.mp4",orientation=0)

sleep(10)
dev.stop_recording()

output=xxx.mp4,默认将录屏文件存放在 log 目录下,如果有重命名需求的话可以传这个参数,否则直接所有参数用默认值即可

注意:目前只有当录屏文件在 log 目录下,Airtest 报告才能正常展示录屏

3. iOS 录屏示例

了解了新的录屏功能之后,我们看下该功能在 iOS 设备上的录屏效果:

4. Windows 录屏示例

5. 小结

在测试结果验证时,录屏有时候非常重要,可以让我们完整看到 bug 出现的场景。特别是 Airtest 支持了多平台的录屏功能之后,就更方便测试同学在多端进行测试验证了,感兴趣的同学赶紧实操起来吧!


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

官方答疑 Q 群:117973773

呀~这么认真都看到这里啦,帮忙点击左下角的爱心,给我点个赞支持一下把,灰常感谢~

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册