我正在 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')
视频已创建并记录了所有步骤,但我注意到它比运行实际测试要快得多(甚至看起来快了一倍!)。
让您了解时间安排:
我真的看到了非常快的加载动画和疯狂旋转的旋转器
有没有办法录制视频并且不加速,而是反映真实的执行时间?
如果录制视频的每秒帧数 (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/