Airtest新增iOS、Windows录屏功能,真香!
1. 前言
在录屏这块,Airtest之前一直仅支持了Android设备,但Airtest1.2.9的新版录屏功能里,新增了iOS和Windows的录屏支持。
下文我们将详细了解这个新的录屏功能,以及实操下在iOS设备或者Windows端的录屏操作。
2. Airtest录屏功能介绍
熟悉Airtest的同学都知道,我们可以用 start_recording
和 stop_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支持了多平台的录屏功能之后,就更方便测试同学在多端进行测试验证了,感兴趣的同学赶紧实操起来吧!
原文地址:https://www.cnblogs.com/songzhenhua/p/17658568.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何利用Android Studio将moudle变成jar示例详解
- Android自带的四种线程池使用总结
- CentOS8.1搭建Gitlab服务器详细教程
- Android开发之图片旋转功能实现方法【基于Matrix】
- Android编程简单实现拨号器功能的方法
- win10 + Ubuntu20.04 LTS双系统引导界面美化
- Android开发从相册中选取照片的示例代码
- 详解Android WebView的input上传照片的兼容问题
- Ubuntu14.04安装、配置与卸载QT5的步骤详解
- CentOS 8 安装 MariaDB的详细教程
- Android中RecyclerView拖拽、侧删功能的实现代码
- Android单个RecyclerView实现列表嵌套的效果
- Android如何禁止向EditText控件中输入内容详解
- 小程序视角下同构方案思考
- Android基于自带的DownloadManager实现下载功能示例