Appium Python 录屏视频加速

问题描述 投票:0回答:1

我正在 iOS 环境中的 Appium Python 中开发自动测试,我需要记录测试的执行情况。

要开始录制,我使用以下方法:

driver.start_recording_screen()

要停止录制并保存视频,我使用这个

def save_video(video, filename):
     log_folder = name_of_log_folder
     video_path = f'{log_folder}/{filename}.mp4'
     with open(video_path, 'wb') as output_file:
         output_file.write(base64.b64decode(video))

save_video(driver.stop_recording_screen(), 'video_name')

视频已创建并记录了所有步骤,但我注意到它比运行实际测试要快得多(甚至看起来快了一倍!)。

让您了解时间安排:

  • 测试执行时间(实时):32s
  • 视频持续时间:13秒

我真的看到了非常快的加载动画和疯狂旋转的旋转器

有没有办法录制视频并且不加速,而是反映真实的执行时间?

python ios automated-tests appium screen-recording
1个回答
0
投票

如果录制视频的每秒帧数 (FPS) 速率与测试的实际执行速度不同,则可能会出现这种差异。幸运的是,在 Appium Python 中,您可以使用 start_recording_screen() 方法中的 videoFps 参数来控制录制视频的 FPS 速率。

默认情况下,FPS 速率设置为 10 FPS,与测试的实时执行相比,这可能会导致更快的播放速度。要解决此问题,您可以调整 FPS 速率以匹配所需的播放速度。具体方法如下:

fps = "60"
driver.start_recording_screen(videoFps=fps)

在上面的代码中,我们将videoFps参数调整为60 FPS,但是您可以根据您的测试需求进行修改。通过设置 FPS 速率以匹配测试的实时执行速度,录制的视频应该更准确地反映实际执行时间。

尝试调整 FPS 速率并重新运行测试,看看是否可以解决录制视频与实时执行相比太快的问题。

我建议任何人查看这里的文档(JSON参数部分):https://appium.readthedocs.io/en/latest/en/commands/device/recording-screen/start-recording-screen/

© www.soinside.com 2019 - 2024. All rights reserved.