Pytest + Appium фикстура запускающаяся на первый тест

Всем привет! Подскажите, как можно реализовать скипание рекламного банера при старте приложения. Подробнее:

Appium запускает приложение, в котором при каждом старте показывается рекламное сообщение, из-за этого невозможно независимо запускать тесты.

Как можно реализовать, чтобы при запуске тестов начиная с любого по счету выполнялись сначала инструкции скипающие рекламу, а потом основные инструкции?

  1. Попросить разрабов в ДЕВ откличить этот баннер
    Но скорее всего вы жто пробовали и вам скащали нет.

Просто сделайте метод который кликает на закрытие рекламы (или как у вас там она закрывается).
добавте этот метод в какой-нибудь. beforeTest и выполняйте перед каждым тестом.
Если эта рекламная штуковина вылезает вообще один раз за весь прогон и после первого закрытия в дальнейших тестах ее появляется то заведите переменную и после первого закрытия пусть будет
Boolean bannerWasClosed = true, а вашем методе закрытия рекламы проверяйте если был уже закрыт баннер то ничего делать не нужно.

Типа такого

 static boolean WAS_CLOSED = false; // переменная которая запоминает закрывали ли мы баннеп

    public void closeAdBanner() {
        if (!WAS_CLOSED) { // если не закрывали то давайте закроем
            driver.click(closeBannerButton); // клик "закрыть"
            WAS_CLOSED = true; // запоминаем что уже закрыли и в следуйщий раз не будем пытаться закрывать
        }
    }
1 лайк

Решил добавлением фикстуры со scope=‘session’ c инструкциями кликов и передал ее в тесты вместо фикстуры инициализирующей драйвер. Не уверен, насколько, хорошее это решение, стараюсь в тестах не использовать логику и все реализовывать через вызовы.