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()