def test_screen_schedule(self):
        helper = HelperBase(self.driver)

        # авторизация
        auth_helper.open_and_fill_login_pass_fields(self.driver)
        auth_helper.fill_office_shk_field(self.driver)

        # проверить каждую кнопку на экране "Распорядок дня"
        schedule_buttons_name_and_header_name = {
            'Прийти на работу': '//android.widget.Button[@text="Вход"]',
            'Прием коробок':
            '//android.widget.LinearLayout[@content-desc="Прием"]',
            'Прием вещей на волнорез':
            '//android.widget.LinearLayout[@content-desc="Сканирование"]',
            'Сканировать возвраты/отказы':
            '//android.widget.LinearLayout[@content-desc="Возврат на склад"]',
            'Переместить вещи':
            '//android.widget.LinearLayout[@content-desc="Перемещение"]',
            'Уйти с работы':
            '//android.widget.LinearLayout[@content-desc="Выход"]'
        }

        schedule_helper.schedule_buttons_iterator(
            self.driver, schedule_buttons_name_and_header_name)

        # проверить каждую кнопку в меню
        burger_menu_button = helper.find_by_xpath(
            '//android.widget.ImageButton[@content-desc="Open navigation drawer"]'
        )
        helper.click_by_element(burger_menu_button)
        helper.wait_activity('some.application.debug:id/tv_user_info')
        user_name = helper.get_text_by_id(
            'some.application.debug:id/tv_user_info')
        pvz_name = helper.get_text_by_id('some.application.debug:id/tv_office')
        assert user_name == InitConfig.fullUserName
        assert pvz_name == InitConfig.pvzName

        menu_buttons_name_and_header_name = {
            'Возврат товара':
            '//android.widget.EditText[@text="Поиск клиента"]',
            'Инвентаризация':
            '//android.widget.TextView[@text="Место хранения не выбрано"]',
            'Вещи в офисе': '//android.widget.EditText[@text="Поиск вещей"]',
            'Коробки в офисе': '//android.widget.TextView[@text="Список"]',
            'Движение вещей':
            f'//android.widget.TextView[@text="{date.today().strftime("%d.%m.%Y")}"]',
            'Отгрузки':
            '//android.widget.TextView[@text="Коробка не отсканирована"]',
            'Инструкции': '//android.widget.TextView[@text="Инструкции"]',
            'Уведомления': '//android.widget.CompoundButton[@text="Все"]',
            'Настройки':
            '//android.widget.TextView[@text="Режим сканирования"]',
            'Выход':
            '//android.widget.TextView[@text="Выход из учетной записи"]'
        }

        schedule_helper.menu_buttons_iterator(
            self.driver, menu_buttons_name_and_header_name)
def menu_buttons_iterator(driver, dictionary):
    helper = HelperBase(driver)

    for key, val in dictionary.items():
        menu_button_is_present = helper.is_element_present_by_xpath(
            f'//android.widget.CheckedTextView[@text="{key}"]')

        if menu_button_is_present is not True:
            continue

        menu_button = helper.find_by_xpath(
            f'//android.widget.CheckedTextView[@text="{key}"]')
        helper.click_by_element(menu_button)
        helper.wait_activity(val)
        element_in_screen = helper.find_by_xpath(val)

        if not (element_in_screen is None):
            helper.swipe_menu()
            helper.wait_activity('some.application.debug:id/tv_user_info')
            helper.swipe_menu_from_down_to_up()
def schedule_buttons_iterator(driver, dictionary):
    helper = HelperBase(driver)

    for key, val in dictionary.items():
        schedule_button_is_present = helper.is_element_present_by_xpath(
            f'//android.widget.TextView[@text="{key}"]/../../android.widget.ImageView[3]'
        )

        if schedule_button_is_present is not True:
            continue

        schedule_button = helper.find_by_xpath(
            f'//android.widget.TextView[@text="{key}"]')
        helper.click_by_element(schedule_button)
        helper.wait_activity(val)
        back_button = helper.find_by_xpath(
            '//android.widget.ImageButton[@content-desc="Navigate up"]')
        helper.click_by_element(back_button)

        helper.wait_activity(
            '//android.widget.TextView[@text="Распорядок дня"]')
        helper.swipe_from_down_to_up()