def test_settings_app(self):

        settings = Settings(self.marionette)
        settings.launch()

        #################### Sound ######################
        sound_page = settings.open_sound()
        self.take_screenshot('sound')
        GaiaImageCompareTestCase.scroll(self.marionette, 'down', sound_page.screen_element.size['height'],
                                        screen=sound_page.screen_element)
        self.take_screenshot('sound')
        ringtone_page = sound_page.tap_ring_tone_selector()
        self.take_screenshot('sound-ringtones')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(self.marionette, 'down', ringtone_page.screen_element.size['height'],
                                            screen=ringtone_page.screen_element)
            self.take_screenshot('sound-ringtones')

        ringtone_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(lambda m: sound_page.ring_tone_selector_visible)

        alerts_page = sound_page.tap_alerts_selector()
        self.take_screenshot('sound-alerts')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(self.marionette, 'down', alerts_page.screen_element.size['height'],
                                            screen=alerts_page.screen_element)
            self.take_screenshot('sound-alerts')
        alerts_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(lambda m: sound_page.ring_tone_selector_visible)

        manage_page = sound_page.tap_manage_tones_selector()
        self.take_screenshot('sound-manage_tones')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(self.marionette, 'down', manage_page.screen_element.size['height'],
                                            screen=manage_page.screen_element)
            self.take_screenshot('sound-manage_tones')

        manage_page.ring_tones[1].select_option()
        self.take_screenshot('sound-manage_tones-share')
        manage_page.cancel_share()
        manage_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(lambda m: sound_page.ring_tone_selector_visible)
        settings.return_to_prev_menu(settings.screen_element, sound_page.screen_element)

        #################### Display ######################
        display_page = settings.open_display()
        self.take_screenshot('display')
        display_page.tap_timeout_selector()
        self.take_screenshot('display-timeout_values', top_frame=True)
        display_page.tap_timeout_confirmation()
        settings.return_to_prev_menu(settings.screen_element, display_page.screen_element)

        #################### Homescreen ######################
        homescreen_page = settings.open_homescreen()
        self.take_screenshot('homescreen')

        homescreen_page.open_change_home_screen()
        self.take_screenshot('homescreen-change_homescreen')
        homescreen_page.open_get_more_home_screen()
        self.take_screenshot('homescreen-get_more_homescreen',top_frame=True)
        homescreen_page.cancel_get_more_home_screen()
        settings.return_to_prev_menu(homescreen_page.screen_element,
                                     homescreen_page.change_homescreen_screen_element)
        settings.return_to_prev_menu(settings.screen_element, homescreen_page.screen_element)

        ################### Search ######################
        search_page = settings.open_search()
        self.take_screenshot('search')
        search_page.open_select_search_engine()
        self.take_screenshot('search-engine_list')
        search_page.close_select_search_engine()
        settings.return_to_prev_menu(settings.screen_element, search_page.screen_element)

        ################## Navigation ######################
        nav_page = settings.open_navigation()
        self.take_screenshot('navigation')
        settings.return_to_prev_menu(settings.screen_element, nav_page.screen_element)

        ################# Notifications ######################
        notif_page = settings.open_notification()
        self.take_screenshot('notification')
        settings.return_to_prev_menu(settings.screen_element, notif_page.screen_element)

        ################ Date and Time ######################
        # Only the main page and Time Format selection is checked
        date_time_page = settings.open_date_and_time()
        self.take_screenshot('date_and_time')
        GaiaImageCompareTestCase.scroll(self.marionette, 'down', date_time_page.screen_element.size['height'],
                                        screen=date_time_page.screen_element)
        self.take_screenshot('date_and_time')
        date_time_page.disable_default_format()
        date_time_page.open_time_format()
        self.take_screenshot('date_and_time-time_format',top_frame=True)
        date_time_page.close_time_format()
        settings.return_to_prev_menu(settings.screen_element, date_time_page.screen_element)

        ############### Language ######################
        # 'Get more languages' menu cannot be opened due to css bug
        language_page = settings.open_language()
        self.take_screenshot('language')
        language_page.open_select_language()
        self.take_screenshot('language-select',top_frame=True)
        language_page.close_select_language()
        settings.return_to_prev_menu(settings.screen_element, language_page.screen_element)

        # This involves app switching, and often would cause whitescreen issue under 319MB memory config
        # Please run in 512 or 1024 MB mode to avoid this issue
        ############### Keyboards ######################
        keyboard_page = settings.open_keyboard()
        self.take_screenshot('keyboard')
        builtin_page = keyboard_page.tap_built_in_keyboards()
        self.take_screenshot('keyboard-built_in')
        builtin_page.tap_user_dictionary()
        self.take_screenshot('keyboard-user-dict')
        builtin_page.tap_user_dict_exit()
        builtin_page.tap_exit()
        keyboard_page.wait_until_page_ready()
        morekb_page = keyboard_page.tap_add_more_keyboards()
        self.take_screenshot('keyboard-more_kb')
        settings.return_to_prev_menu(keyboard_page.screen_element, morekb_page.screen_element)
        settings.return_to_prev_menu(settings.screen_element, keyboard_page.screen_element)

        ############## Themes ######################
        themes_page = settings.open_themes()
        self.take_screenshot('themes')
        settings.return_to_prev_menu(settings.screen_element, themes_page.screen_element)

        ############# Addons ######################
        addons_page = settings.open_addons()
        self.take_screenshot('addons')
        addons_page.tap_first_item()
        self.take_screenshot('addons-addon_enabled')
        addons_page.toggle_addon_status()  # addons are enabled by default
        Wait(self.marionette).until(lambda m: not addons_page.is_addon_enabled)
        self.take_screenshot('addons-addon_disabled')
        addons_page.toggle_addon_status()  # revert to original state
        settings.return_to_prev_menu(addons_page.screen_element, addons_page.details_screen_element)
        settings.return_to_prev_menu(settings.screen_element, addons_page.screen_element)
Пример #2
0
    def test_settings_app(self):

        settings = Settings(self.marionette)
        settings.launch()

        self.take_screenshot('main')
        for i in range(0, 4):
            GaiaImageCompareTestCase.scroll(self.marionette, 'down',
                                            settings.screen_element.size['height'], screen=settings.screen_element)
            self.take_screenshot('main')

        #opening each subpage in Settings menu.  Privacy Control is not opened, because it is a separate app
        #some subpages have their own subpages, and they need to be opened as well.
        settings.open_wifi()
        self.take_screenshot('wifi')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_sim_manager()
        self.take_screenshot('sim_manager')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_call()
        self.take_screenshot('call')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_message()
        self.take_screenshot('message')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_cell_and_data()
        self.take_screenshot('cell_and_data')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_bluetooth()
        self.take_screenshot('bluetooth')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_internet_sharing()
        self.take_screenshot('internet_sharing')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_sound()
        self.take_screenshot('sound')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_display()
        self.take_screenshot('display')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_homescreen()
        self.take_screenshot('homescreen')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_search()
        self.take_screenshot('search')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_navigation()
        self.take_screenshot('navigation')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_notification()
        self.take_screenshot('notification')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_date_and_time()
        self.take_screenshot('date_and_time')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_language()
        self.take_screenshot('language')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_keyboard()
        self.take_screenshot('keyboard')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_themes()
        self.take_screenshot('themes')
        settings.return_to_prev_menu(settings.screen_element, gaia_header=False)

        settings.open_addons()
        self.take_screenshot('addons')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_achievements()
        self.take_screenshot('achievements')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_firefox_accounts()
        self.take_screenshot('firefox_accounts')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_findmydevice()
        self.take_screenshot('findmydevice')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_screen_lock()
        self.take_screenshot('screen_lock')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_app_permissions()
        self.take_screenshot('app_permissions')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_do_not_track()
        self.take_screenshot('do_not_track')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_browsing_privacy()
        self.take_screenshot('browsing_privacy')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_media_storage()
        self.take_screenshot('media_storage')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_application_storage()
        self.take_screenshot('application_storage')
        settings.return_to_prev_menu(settings.screen_element)

        ### Device Information and its sub pages
        device_info_page = settings.open_device_info()
        self.take_screenshot('dev_info')
        GaiaImageCompareTestCase.scroll(self.marionette, 'down', device_info_page.screen_element.size['height'],
                                        screen=device_info_page.screen_element)
        self.take_screenshot('dev_info')

        moreinfo_page = device_info_page.tap_more_info()
        self.take_screenshot('dev_info-more_info')
        GaiaImageCompareTestCase.scroll(self.marionette, 'down', device_info_page.screen_element.size['height'],
                                        screen=moreinfo_page.screen)
        self.take_screenshot('dev_info-more_info')
        settings.return_to_prev_menu(device_info_page.screen_element)

        device_info_page.tap_reset_phone()
        self.take_screenshot('dev_info-reset')
        device_info_page.confirm_reset(False)

        device_info_page.tap_update_frequency()
        self.take_screenshot('dev_info-update-freq')
        device_info_page.exit_update_frequency()
        settings.return_to_prev_menu(settings.screen_element)

        ### Downloads page
        settings.open_downloads()
        self.take_screenshot('downloads')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_battery()
        self.take_screenshot('battery')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_accessibility()
        self.take_screenshot('accessibility')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_developer()
        self.take_screenshot('developer')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_improve()
        self.take_screenshot('improve')
        settings.return_to_prev_menu(settings.screen_element)

        settings.open_help()
        self.take_screenshot('help')
        settings.return_to_prev_menu(settings.screen_element)
    def test_settings_app(self):

        settings = Settings(self.marionette)
        settings.launch()

        ################### Sound ######################
        sound_page = settings.open_sound()
        self.take_screenshot('sound')
        GaiaImageCompareTestCase.scroll(
            self.marionette,
            'down',
            sound_page.screen_element.size['height'],
            screen=sound_page.screen_element)
        self.take_screenshot('sound')
        ringtone_page = sound_page.tap_ring_tone_selector()
        self.take_screenshot('sound-ringtones')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(
                self.marionette,
                'down',
                ringtone_page.screen_element.size['height'],
                screen=ringtone_page.screen_element)
            self.take_screenshot('sound-ringtones')

        ringtone_page.tap_exit()
        Wait(self.marionette).until(
            lambda m: sound_page.ring_tone_selector_visible)

        alerts_page = sound_page.tap_alerts_selector()
        self.take_screenshot('sound-alerts')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(
                self.marionette,
                'down',
                alerts_page.screen_element.size['height'],
                screen=alerts_page.screen_element)
            self.take_screenshot('sound-alerts')
        alerts_page.tap_exit()
        Wait(self.marionette).until(
            lambda m: sound_page.ring_tone_selector_visible)

        manage_page = sound_page.tap_manage_tones_selector()
        self.take_screenshot('sound-manage_tones')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(
                self.marionette,
                'down',
                manage_page.screen_element.size['height'],
                screen=manage_page.screen_element)
            self.take_screenshot('sound-manage_tones')

        manage_page.ring_tones[1].select_option()
        self.take_screenshot('sound-manage_tones-share')
        manage_page.cancel_share()
        manage_page.tap_exit()
        Wait(self.marionette).until(
            lambda m: sound_page.ring_tone_selector_visible)
        settings.return_to_prev_menu(settings.screen_element,
                                     sound_page.screen_element)

        #################### Display ######################
        display_page = settings.open_display()
        self.take_screenshot('display')
        display_page.tap_timeout_selector()
        self.take_screenshot('display-timeout_values', top_frame=True)
        display_page.tap_timeout_confirmation()
        settings.return_to_prev_menu(settings.screen_element,
                                     display_page.screen_element)

        #################### Homescreen ######################
        homescreen_page = settings.open_homescreen()
        self.take_screenshot('homescreen')

        homescreen_page.pick_wallpaper()
        self.take_screenshot('wallpaper')
        homescreen_page.cancel_pick_wallpaper()

        homescreen_page.select_change_icon_layout()
        self.take_screenshot('layout', top_frame=True)
        homescreen_page.confirm_icon_layout()

        homescreen_page.open_change_home_screen()
        self.take_screenshot('homescreen-change_homescreen')
        homescreen_page.open_get_more_home_screen()
        self.take_screenshot('homescreen-get_more_homescreen', top_frame=True)
        homescreen_page.cancel_get_more_home_screen()
        settings.return_to_prev_menu(
            homescreen_page.screen_element,
            homescreen_page.change_homescreen_screen_element)
        settings.return_to_prev_menu(settings.screen_element,
                                     homescreen_page.screen_element)

        ################### Search ######################
        search_page = settings.open_search()
        self.take_screenshot('search')
        search_page.open_select_search_engine()
        self.take_screenshot('search-engine_list')
        search_page.close_select_search_engine()
        settings.return_to_prev_menu(settings.screen_element,
                                     search_page.screen_element)

        ################## Navigation ######################
        nav_page = settings.open_navigation()
        self.take_screenshot('navigation')
        settings.return_to_prev_menu(settings.screen_element,
                                     nav_page.screen_element)

        ################# Notifications ######################
        notif_page = settings.open_notification()
        self.take_screenshot('notification')
        settings.return_to_prev_menu(settings.screen_element,
                                     notif_page.screen_element)

        ################ Date and Time ######################
        # Only the main page and Time Format selection is checked
        date_time_page = settings.open_date_and_time()
        self.take_screenshot('date_and_time')
        GaiaImageCompareTestCase.scroll(
            self.marionette,
            'down',
            date_time_page.screen_element.size['height'],
            screen=date_time_page.screen_element)
        self.take_screenshot('date_and_time')
        date_time_page.disable_default_format()
        date_time_page.open_time_format()
        self.take_screenshot('date_and_time-time_format', top_frame=True)
        date_time_page.close_time_format()
        settings.return_to_prev_menu(settings.screen_element,
                                     date_time_page.screen_element)

        ############### Language ######################
        # 'Get more languages' menu cannot be opened due to css bug
        language_page = settings.open_language()
        self.take_screenshot('language')
        language_page.open_select_language()
        self.take_screenshot('language-select', top_frame=True)
        language_page.close_select_language()
        settings.return_to_prev_menu(settings.screen_element,
                                     language_page.screen_element)

        # This involves app switching, and often would cause whitescreen issue under 319MB memory config
        # Please run in 512 or 1024 MB mode to avoid this issue
        ############### Keyboards ######################
        keyboard_page = settings.open_keyboard()
        self.take_screenshot('keyboard')
        builtin_page = keyboard_page.tap_built_in_keyboards()
        self.take_screenshot('keyboard-built_in')
        builtin_page.tap_user_dictionary()
        self.take_screenshot('keyboard-user-dict')
        builtin_page.tap_user_dict_exit()
        builtin_page.tap_exit()
        keyboard_page.wait_until_page_ready()
        morekb_page = keyboard_page.tap_add_more_keyboards()
        self.take_screenshot('keyboard-more_kb')
        settings.return_to_prev_menu(keyboard_page.screen_element,
                                     morekb_page.screen_element)
        settings.return_to_prev_menu(settings.screen_element,
                                     keyboard_page.screen_element)

        ############## Themes ######################
        themes_page = settings.open_themes()
        self.take_screenshot('themes')
        settings.return_to_prev_menu(settings.screen_element,
                                     themes_page.screen_element)

        ############# Addons ######################
        addons_page = settings.open_addons()
        self.take_screenshot('addons')

        addons_page.tap_item(0)
        self.take_screenshot('addons-addon_enabled')
        addons_page.toggle_addon_status()  # addons are enabled by default
        Wait(self.marionette).until(lambda m: not addons_page.is_addon_enabled)
        self.take_screenshot('addons-addon_disabled')
        addons_page.toggle_addon_status()  # revert to original state
        settings.return_to_prev_menu(addons_page.screen_element,
                                     addons_page.details_screen_element)

        addons_page.tap_item(1)
        self.take_screenshot('addons-nouse_addon')
        settings.return_to_prev_menu(addons_page.screen_element,
                                     addons_page.details_screen_element)

        addons_page.tap_item(2)
        self.take_screenshot('addons-obsolete_addon')
        settings.return_to_prev_menu(addons_page.screen_element,
                                     addons_page.details_screen_element)
    def test_settings_app(self):

        settings = Settings(self.marionette)
        settings.launch()

        #################### Sound ######################
        sound_page = settings.open_sound()
        self.take_screenshot('sound')
        GaiaImageCompareTestCase.scroll(self.marionette, 'down', sound_page.screen_element.size['height'],
                                        screen=sound_page.screen_element)
        self.take_screenshot('sound')
        ringtone_page = sound_page.tap_ring_tone_selector()

        self.take_screenshot('sound-ringtones')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(self.marionette, 'down', ringtone_page.screen_element.size['height'],
                                            screen = ringtone_page.screen_element)
            self.take_screenshot('sound-ringtones')

        ringtone_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(lambda m: sound_page.ring_tone_selector_visible)

        alerts_page = sound_page.tap_alerts_selector()
        self.take_screenshot('sound-alerts')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(self.marionette, 'down', alerts_page.screen_element.size['height'],
                                            screen=alerts_page.screen_element)
            self.take_screenshot('sound-alerts')
        alerts_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(lambda m: sound_page.ring_tone_selector_visible)

        manage_page = sound_page.tap_manage_tones_selector()
        self.take_screenshot('sound-manage_tones')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(self.marionette, 'down', manage_page.screen_element.size['height'],
                                            screen=manage_page.screen_element)
            self.take_screenshot('sound-manage_tones')

        manage_page.ring_tones[1].select_option()
        self.take_screenshot('sound-manage_tones-share')
        manage_page.cancel_share()
        manage_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(lambda m: sound_page.ring_tone_selector_visible)
        settings.return_to_prev_menu(settings.screen_element)

        #################### Display ######################
        display_page = settings.open_display()
        self.take_screenshot('display')
        display_page.pick_wallpaper()
        self.take_screenshot('display-wallpaper_pick')
        display_page.cancel_pick_wallpaper()
        display_page.tap_timeout_selector()
        self.take_screenshot('display-timeout_values')
        display_page.tap_timeout_confirmation()
        settings.return_to_prev_menu(settings.screen_element)

        #################### Homescreen ######################
        homescreen_page = settings.open_homescreen()
        self.take_screenshot('homescreen')
        homescreen_page.open_select_icon_layout()
        self.take_screenshot('homescreen-layout')
        homescreen_page.open_select_icon_layout()
        settings.return_to_prev_menu(settings.screen_element)

        ################### Search ######################
        search_page = settings.open_search()
        self.take_screenshot('search')
        search_page.open_select_search_engine()
        self.take_screenshot('search-engine_list')
        search_page.close_select_search_engine()
        settings.return_to_prev_menu(settings.screen_element)

        ################## Search ######################
        settings.open_navigation()
        self.take_screenshot('navigation')
        settings.return_to_prev_menu(settings.screen_element)

        ################# Notifications ######################
        settings.open_notification()
        self.take_screenshot('notification')
        settings.return_to_prev_menu(settings.screen_element)

        ################ Notifications ######################
        # Only the main page and Time Format selection is checked
        date_time_page = settings.open_date_and_time()
        self.take_screenshot('date_and_time')
        GaiaImageCompareTestCase.scroll(self.marionette, 'down', date_time_page.screen_element.size['height'],
                                        screen=date_time_page.screen_element)
        self.take_screenshot('date_and_time')
        date_time_page.open_time_format()
        self.take_screenshot('date_and_time-time_format')
        date_time_page.close_time_format()
        settings.return_to_prev_menu(settings.screen_element)

        ############### Language ######################
        # 'Get more languages' menu cannot be opened due to css bug
        language_page = settings.open_language()
        self.take_screenshot('language')
        language_page.open_select_language()
        self.take_screenshot('language-select')
        language_page.close_select_language()
        settings.return_to_prev_menu(settings.screen_element)

        ############### Keyboards ######################
        keyboard_page = settings.open_keyboard()
        self.take_screenshot('keyboard')
        builtin_page = keyboard_page.tap_built_in_keyboards()
        self.take_screenshot('keyboard-built_in')
        builtin_page.tap_user_dictionary()
        self.take_screenshot('keyboard-user-dict')
        builtin_page.tap_user_dict_exit()
        builtin_page.tap_exit()
        keyboard_page.wait_until_page_ready()
        keyboard_page.tap_add_more_keyboards()
        self.take_screenshot('keyboard-more_kb')
        settings.return_to_prev_menu(keyboard_page.screen_element)
        settings.return_to_prev_menu(settings.screen_element)

        ############## Themes ######################
        settings.open_themes()
        self.take_screenshot('themes')
        settings.return_to_prev_menu(settings.screen_element, gaia_header=False)

        ############# Addons ######################
        addons_page = settings.open_addons()
        self.take_screenshot('addons')
        addons_page.tap_first_item()
        self.take_screenshot('addons-addon')
        addons_page.toggle_addon_status()  # addons are disabled by default
        self.take_screenshot('addons-addon')
        addons_page.toggle_addon_status()
        addons_page.exit_addon_description()
        settings.return_to_prev_menu(settings.screen_element)

        ############# Achievements ######################
        settings.open_achievements()
        self.take_screenshot('achievements')
        settings.return_to_prev_menu(settings.screen_element)
    def test_settings_app(self):

        settings = Settings(self.marionette)
        settings.launch()

        #################### Sound ######################
        sound_page = settings.open_sound()
        self.take_screenshot("sound")
        GaiaImageCompareTestCase.scroll(
            self.marionette, "down", sound_page.screen_element.size["height"], screen=sound_page.screen_element
        )
        self.take_screenshot("sound")
        ringtone_page = sound_page.tap_ring_tone_selector()

        self.take_screenshot("sound-ringtones")
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(
                self.marionette,
                "down",
                ringtone_page.screen_element.size["height"],
                screen=ringtone_page.screen_element,
            )
            self.take_screenshot("sound-ringtones")

        ringtone_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(lambda m: sound_page.ring_tone_selector_visible)

        alerts_page = sound_page.tap_alerts_selector()
        self.take_screenshot("sound-alerts")
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(
                self.marionette, "down", alerts_page.screen_element.size["height"], screen=alerts_page.screen_element
            )
            self.take_screenshot("sound-alerts")
        alerts_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(lambda m: sound_page.ring_tone_selector_visible)

        manage_page = sound_page.tap_manage_tones_selector()
        self.take_screenshot("sound-manage_tones")
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(
                self.marionette, "down", manage_page.screen_element.size["height"], screen=manage_page.screen_element
            )
            self.take_screenshot("sound-manage_tones")

        manage_page.ring_tones[1].select_option()
        self.take_screenshot("sound-manage_tones-share")
        manage_page.cancel_share()
        manage_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(lambda m: sound_page.ring_tone_selector_visible)
        settings.return_to_prev_menu(settings.screen_element, sound_page.screen_element)

        #################### Display ######################
        display_page = settings.open_display()
        self.take_screenshot("display")
        display_page.pick_wallpaper()
        self.take_screenshot("display-wallpaper_pick")
        display_page.cancel_pick_wallpaper()
        display_page.tap_timeout_selector()
        self.take_screenshot("display-timeout_values")
        display_page.tap_timeout_confirmation()
        settings.return_to_prev_menu(settings.screen_element, display_page.screen_element)

        #################### Homescreen ######################
        homescreen_page = settings.open_homescreen()
        self.take_screenshot("homescreen")
        homescreen_page.open_select_icon_layout()
        self.take_screenshot("homescreen-layout")
        homescreen_page.open_select_icon_layout()
        settings.return_to_prev_menu(settings.screen_element, homescreen_page.screen_element)

        ################### Search ######################
        search_page = settings.open_search()
        self.take_screenshot("search")
        search_page.open_select_search_engine()
        self.take_screenshot("search-engine_list")
        search_page.close_select_search_engine()
        settings.return_to_prev_menu(settings.screen_element, search_page.screen_element)

        ################## Navigation ######################
        nav_page = settings.open_navigation()
        self.take_screenshot("navigation")
        settings.return_to_prev_menu(settings.screen_element, nav_page.screen_element)

        ################# Notifications ######################
        notif_page = settings.open_notification()
        self.take_screenshot("notification")
        settings.return_to_prev_menu(settings.screen_element, notif_page.screen_element)

        ################ Date and Time ######################
        # Only the main page and Time Format selection is checked
        date_time_page = settings.open_date_and_time()
        self.take_screenshot("date_and_time")
        GaiaImageCompareTestCase.scroll(
            self.marionette, "down", date_time_page.screen_element.size["height"], screen=date_time_page.screen_element
        )
        self.take_screenshot("date_and_time")
        date_time_page.open_time_format()
        self.take_screenshot("date_and_time-time_format")
        date_time_page.close_time_format()
        settings.return_to_prev_menu(settings.screen_element, date_time_page.screen_element)

        ############### Language ######################
        # 'Get more languages' menu cannot be opened due to css bug
        language_page = settings.open_language()
        self.take_screenshot("language")
        language_page.open_select_language()
        self.take_screenshot("language-select")
        language_page.close_select_language()
        settings.return_to_prev_menu(settings.screen_element, language_page.screen_element)

        # This involves app switching, and often would cause whitescreen issue under 319MB memory config
        # Please run in 512 or 1024 MB mode to avoid this issue
        ############### Keyboards ######################
        keyboard_page = settings.open_keyboard()
        self.take_screenshot("keyboard")
        builtin_page = keyboard_page.tap_built_in_keyboards()
        self.take_screenshot("keyboard-built_in")
        builtin_page.tap_user_dictionary()
        self.take_screenshot("keyboard-user-dict")
        builtin_page.tap_user_dict_exit()
        builtin_page.tap_exit()
        keyboard_page.wait_until_page_ready()
        morekb_page = keyboard_page.tap_add_more_keyboards()
        self.take_screenshot("keyboard-more_kb")
        settings.return_to_prev_menu(keyboard_page.screen_element, morekb_page.screen_element)
        settings.return_to_prev_menu(settings.screen_element, keyboard_page.screen_element)

        ############## Themes ######################
        themes_page = settings.open_themes()
        self.take_screenshot("themes")
        settings.return_to_prev_menu(
            settings.screen_element, themes_page.screen_element, back_button=themes_page.back_btn_element
        )

        ############# Addons ######################
        addons_page = settings.open_addons()
        self.take_screenshot("addons")
        addons_page.tap_first_item()
        self.take_screenshot("addons-addon_enabled")
        addons_page.toggle_addon_status()  # addons are enabled by default
        Wait(self.marionette).until(lambda m: not addons_page.is_addon_enabled)
        self.take_screenshot("addons-addon_disabled")
        addons_page.toggle_addon_status()  # revert to original state
        settings.return_to_prev_menu(addons_page.screen_element, addons_page.details_screen_element)
        settings.return_to_prev_menu(settings.screen_element, addons_page.screen_element)

        ############# Achievements ######################
        settings.open_achievements()
        self.take_screenshot("achievements")
Пример #6
0
    def test_settings_app(self):

        settings = Settings(self.marionette)
        settings.launch()

        #################### Sound ######################
        sound_page = settings.open_sound()
        self.take_screenshot('sound')
        GaiaImageCompareTestCase.scroll(
            self.marionette,
            'down',
            sound_page.screen_element.size['height'],
            screen=sound_page.screen_element)
        self.take_screenshot('sound')
        ringtone_page = sound_page.tap_ring_tone_selector()

        self.take_screenshot('sound-ringtones')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(
                self.marionette,
                'down',
                ringtone_page.screen_element.size['height'],
                screen=ringtone_page.screen_element)
            self.take_screenshot('sound-ringtones')

        ringtone_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(
            lambda m: sound_page.ring_tone_selector_visible)

        alerts_page = sound_page.tap_alerts_selector()
        self.take_screenshot('sound-alerts')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(
                self.marionette,
                'down',
                alerts_page.screen_element.size['height'],
                screen=alerts_page.screen_element)
            self.take_screenshot('sound-alerts')
        alerts_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(
            lambda m: sound_page.ring_tone_selector_visible)

        manage_page = sound_page.tap_manage_tones_selector()
        self.take_screenshot('sound-manage_tones')
        for i in range(0, 5):
            GaiaImageCompareTestCase.scroll(
                self.marionette,
                'down',
                manage_page.screen_element.size['height'],
                screen=manage_page.screen_element)
            self.take_screenshot('sound-manage_tones')

        manage_page.ring_tones[1].select_option()
        self.take_screenshot('sound-manage_tones-share')
        manage_page.cancel_share()
        manage_page.tap_exit()
        settings.switch_to_settings_app()
        Wait(self.marionette).until(
            lambda m: sound_page.ring_tone_selector_visible)
        settings.return_to_prev_menu(settings.screen_element)

        #################### Display ######################
        display_page = settings.open_display()
        self.take_screenshot('display')
        display_page.pick_wallpaper()
        self.take_screenshot('display-wallpaper_pick')
        display_page.cancel_pick_wallpaper()
        display_page.tap_timeout_selector()
        self.take_screenshot('display-timeout_values')
        display_page.tap_timeout_confirmation()
        settings.return_to_prev_menu(settings.screen_element)

        #################### Homescreen ######################
        homescreen_page = settings.open_homescreen()
        self.take_screenshot('homescreen')
        homescreen_page.open_select_icon_layout()
        self.take_screenshot('homescreen-layout')
        homescreen_page.open_select_icon_layout()
        settings.return_to_prev_menu(settings.screen_element)

        ################### Search ######################
        search_page = settings.open_search()
        self.take_screenshot('search')
        search_page.open_select_search_engine()
        self.take_screenshot('search-engine_list')
        search_page.close_select_search_engine()
        settings.return_to_prev_menu(settings.screen_element)

        ################## Search ######################
        settings.open_navigation()
        self.take_screenshot('navigation')
        settings.return_to_prev_menu(settings.screen_element)

        ################# Notifications ######################
        settings.open_notification()
        self.take_screenshot('notification')
        settings.return_to_prev_menu(settings.screen_element)

        ################ Notifications ######################
        # Only the main page and Time Format selection is checked
        date_time_page = settings.open_date_and_time()
        self.take_screenshot('date_and_time')
        GaiaImageCompareTestCase.scroll(
            self.marionette,
            'down',
            date_time_page.screen_element.size['height'],
            screen=date_time_page.screen_element)
        self.take_screenshot('date_and_time')
        date_time_page.open_time_format()
        self.take_screenshot('date_and_time-time_format')
        date_time_page.close_time_format()
        settings.return_to_prev_menu(settings.screen_element)

        ############### Language ######################
        # 'Get more languages' menu cannot be opened due to css bug
        language_page = settings.open_language()
        self.take_screenshot('language')
        language_page.open_select_language()
        self.take_screenshot('language-select')
        language_page.close_select_language()
        settings.return_to_prev_menu(settings.screen_element)

        ############### Keyboards ######################
        keyboard_page = settings.open_keyboard()
        self.take_screenshot('keyboard')
        builtin_page = keyboard_page.tap_built_in_keyboards()
        self.take_screenshot('keyboard-built_in')
        builtin_page.tap_user_dictionary()
        self.take_screenshot('keyboard-user-dict')
        builtin_page.tap_user_dict_exit()
        builtin_page.tap_exit()
        keyboard_page.wait_until_page_ready()
        keyboard_page.tap_add_more_keyboards()
        self.take_screenshot('keyboard-more_kb')
        settings.return_to_prev_menu(keyboard_page.screen_element)
        settings.return_to_prev_menu(settings.screen_element)

        ############## Themes ######################
        settings.open_themes()
        self.take_screenshot('themes')
        settings.return_to_prev_menu(settings.screen_element,
                                     gaia_header=False)

        ############# Addons ######################
        addons_page = settings.open_addons()
        self.take_screenshot('addons')
        addons_page.tap_first_item()
        self.take_screenshot('addons-addon')
        addons_page.toggle_addon_status()  # addons are disabled by default
        self.take_screenshot('addons-addon')
        addons_page.toggle_addon_status()
        addons_page.exit_addon_description()
        settings.return_to_prev_menu(settings.screen_element)

        ############# Achievements ######################
        settings.open_achievements()
        self.take_screenshot('achievements')
        settings.return_to_prev_menu(settings.screen_element)