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支持了多平臺的錄屏功能之後,就更方便測試同學在多端進行測試驗證了,感興趣的同學趕緊實操起來吧!
Airtest官網:https://airtest.netease.com/
Airtest教程官網:https://airtest.doc.io.netease.com/
搭建企業私有云服務:https://airlab.163.com/b2b
官方答疑 Q 羣:117973773
呀,這麼認真都看到這裏啦,幫忙點個推薦支持一下唄,灰常感謝~