Где (кроме __init__) хранить атрибуты класса при использовании Pytest?

Добрый день. Пытаюсь организовать автоматизацию тестирования UI на проекте (Мобильная игра под Unity; для автоматизации исполльзую Pytest и allure + appium). При выполнении теста есть необходимость обращаться к 3 классам: appium драйверу (сделать скриншот/видео, кликнуть), сервису Appium и самописному WebSocket клиенту (получить какой-либо элемент интерфейса). Вопрос: где их хранить и инциализировать, чтобы использовать в тесте? Я лично вижу несколько вариантов:

  1. Использовать xUnit стиль написания, хранить их в базовом классе и использовать setup_class для инициализации:
class BaseTest:
    appiumService = None
    appiumDriver = None

    @classmethod
    def setup_class(cls):
        cls.runAppiumService()
        cls.runAppiumDriver()
        cls.startRecordingScreen()
  1. Использовать фикстуры с различными скоупами
@fixture(scope='class')
def appiumDriver():
    LOGGER.info('Running appium client')
    appiumDriver = Remote(SETTINGS.appium.clientUrl, SETTINGS.desiredCapabilities)
    LOGGER.info('Appium client process is running')
    yield appiumDriver
    LOGGER.info('Trying to stop appium client process')
    appiumDriver.stop_client()
    LOGGER.info('Appium client process is stopped')

@mark.usefixtures('appiumService', 'appiumDriver', 'recordVideo', 'makeScreenshot', 'websocket')
class TestFixture:
    pass
  1. Создать общий класс, например Utils, который будет всё это дело инициализировать и отвечать за взаимодействие в целом

В общем-то, проблема простейшая - чем заменить init при использовании Pytest? При этом в идела хочется разместить всё компактно + сохранить работоспособность фичей IDE (автодополнение, подсветка синтаксиса и так далее).

В целом, идея следующая: есть тестовый класс (сьют), который по факту представляет собой набор методом-тесткейсов. На уровне класса происходит “глобальная” подготовка (запускается аппиум, происходит соединение с игрой, запускается игры и так далее). На уровне же методов-кейсов происходят непосредственно проверки, клики и вот это всё. Конечная цель такой структуры - минимизировать количество перезапусков игры, сервисов и так далее