MB
@pytest.fixture
def save_video(appdriver):
video_name = time.strftime('%Y_%m_%d_%H%M%S')
filepath = os.path.join(f’~/src/attachments/{video_name}.mp4')
video_rawdata = appdriver.stop_recording_screen()
with open(filepath, 'wb') as file:
file.write(base64.b64decode(video_rawdata))
file.close()
allure.attach.file(source=f’~/src/attachments/{video_name}.mp4',
name=f'{video_name}', attachment_type='video/mp4')
А вот мой вызов драйвера:
@pytest.fixture
def appdriver():
driver = platform.get()
if platform.IS_IOS:
driver.start_recording_screen(videoQuality='high', videoType='mpeg4', videoFps='24')
else:
driver.start_recording_screen()
yield driver
attach_device_log(driver)
save_video(driver)
driver.quit()
Всё что до yield это setUp, а после yield - tearDown. В таком порядке у меня всегда есть видео прохождения теста, и не важно успешен он или нет.