def test_settings_app(self):

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

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

        ###################### 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)
Example #3
0
class TestCaptionsAccessibility(GaiaTestCase):

    def setUp(self):
        GaiaTestCase.setUp(self)

        # Turn off accessibility and captions
        self.data_layer.set_setting('accessibility.screenreader', False)
        self.data_layer.set_setting('accessibility.screenreader-captions', False)

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

    def test_a11y_captions(self):
        accessibility_settings = self.settings.open_accessibility()
        screenreader_settings = accessibility_settings.a11y_open_screenreader_settings()

        # Captions should be invisible when screen reader is disabled
        self.assertTrue(self.accessibility.is_hidden(self.marionette.find_element(
            *screenreader_settings._screen_reader_captions_locator)))

        # Turn on screen reader
        self.data_layer.set_setting('accessibility.screenreader', True)

        # Captions should be visible when screen reader is on
        self.assertTrue(self.accessibility.is_visible(self.marionette.find_element(
            *screenreader_settings._screen_reader_captions_locator)))

        # Turn on captions
        screenreader_settings.a11y_toggle_captions()

        # Captions settings should be set
        self.wait_for_condition(
            lambda m: self.data_layer.get_setting('accessibility.screenreader-captions'))
class TestSliderVisibilityAccessibility(GaiaTestCase):
    def setUp(self):
        GaiaTestCase.setUp(self)

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

    def test_a11y_slider_visibility(self):
        accessibility_settings = self.settings.open_accessibility()
        screenreader_settings = accessibility_settings.a11y_open_screenreader_settings()

        # Rate and volume settings should be invisible when screen reader is disabled
        self.assertTrue(
            self.accessibility.is_hidden(
                self.marionette.find_element(*screenreader_settings._screen_reader_volume_slider_locator)
            )
        )
        self.assertTrue(
            self.accessibility.is_hidden(
                self.marionette.find_element(*screenreader_settings._screen_reader_rate_slider_locator)
            )
        )

        # Turn on screen reader
        self.data_layer.set_setting("accessibility.screenreader", True)

        # Both rate and volume sliders should be visible when screen reader is on
        self.wait_for_condition(
            lambda x: self.accessibility.is_visible(
                self.marionette.find_element(*screenreader_settings._screen_reader_volume_slider_locator)
            )
        )
        self.assertTrue(
            self.accessibility.is_visible(
                self.marionette.find_element(*screenreader_settings._screen_reader_rate_slider_locator)
            )
        )

        # Turn screen reader off again
        self.data_layer.set_setting("accessibility.screenreader", False)

        # Rate and volume settings should be invisible when screen reader is disabled
        self.wait_for_condition(
            lambda x: self.accessibility.is_hidden(
                self.marionette.find_element(*screenreader_settings._screen_reader_volume_slider_locator)
            )
        )
        self.assertTrue(
            self.accessibility.is_hidden(
                self.marionette.find_element(*screenreader_settings._screen_reader_rate_slider_locator)
            )
        )
class TestVolumeButtonsAccessibility(GaiaTestCase):

    def setUp(self):
        GaiaTestCase.setUp(self)

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

    def toggle_screen_reader(self):
        self.marionette.switch_to_frame()

        self.device.press_release_volume_up_then_down_n_times(3)
        time.sleep(3)
        self.device.press_release_volume_up_then_down_n_times(3)

        self.apps.switch_to_displayed_app()

    def test_a11y_volume_buttons(self):
        # Open accessibility settings panel
        accessibility_settings = self.settings.open_accessibility()

        # Panel should not be visible by default
        self.assertFalse(self.data_layer.get_setting(
            'accessibility.screenreader-show-settings'))
        self.assertFalse(self.is_element_displayed(
            *accessibility_settings._accessibility_screenreader_menu_item_locator))
        self.assertTrue(self.accessibility.is_hidden(self.marionette.find_element(
            *accessibility_settings._accessibility_screenreader_menu_item_locator)))

        self.toggle_screen_reader()

        # Panel should become visible after screen reader turned ON
        self.assertTrue(self.data_layer.get_setting(
            'accessibility.screenreader-show-settings'))
        self.assertTrue(self.is_element_displayed(
            *accessibility_settings._accessibility_screenreader_menu_item_locator))
        self.assertTrue(self.accessibility.is_visible(self.marionette.find_element(
            *accessibility_settings._accessibility_screenreader_menu_item_locator)))

        self.toggle_screen_reader()

        # Panel should still be visible
        self.assertTrue(self.data_layer.get_setting(
            'accessibility.screenreader-show-settings'))
        self.assertTrue(self.is_element_displayed(
            *accessibility_settings._accessibility_screenreader_menu_item_locator))
        self.assertTrue(self.accessibility.is_visible(self.marionette.find_element(
            *accessibility_settings._accessibility_screenreader_menu_item_locator)))
class TestSliderVisibilityAccessibility(GaiaTestCase):

    def setUp(self):
        GaiaTestCase.setUp(self)

        # make accessibility settings visible
        self.data_layer.set_setting(
            'accessibility.screenreader-show-settings', True)

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

    def test_a11y_slider_visibility(self):
        accessibility_settings = self.settings.open_accessibility()
        screenreader_settings = accessibility_settings.a11y_open_screenreader_settings()

        # Rate and volume settings should be invisible when screen reader is disabled
        self.assertTrue(self.accessibility.is_hidden(self.marionette.find_element(
            *screenreader_settings._screen_reader_volume_slider_locator)))
        self.assertTrue(self.accessibility.is_hidden(self.marionette.find_element(
            *screenreader_settings._screen_reader_rate_slider_locator)))

        # Turn on screen reader
        self.data_layer.set_setting('accessibility.screenreader', True)

        # Both rate and volume sliders should be visible when screen reader is on
        self.wait_for_condition(lambda x:
            self.accessibility.is_visible(self.marionette.find_element(
                *screenreader_settings._screen_reader_volume_slider_locator)))
        self.assertTrue(self.accessibility.is_visible(self.marionette.find_element(
            *screenreader_settings._screen_reader_rate_slider_locator)))

        # Turn screen reader off again
        self.data_layer.set_setting('accessibility.screenreader', False)

        # Rate and volume settings should be invisible when screen reader is disabled
        self.wait_for_condition(lambda x:
            self.accessibility.is_hidden(self.marionette.find_element(
                *screenreader_settings._screen_reader_volume_slider_locator)))
        self.assertTrue(self.accessibility.is_hidden(self.marionette.find_element(
            *screenreader_settings._screen_reader_rate_slider_locator)))
Example #7
0
class TestCaptionsAccessibility(GaiaTestCase):
    def setUp(self):
        GaiaTestCase.setUp(self)

        # Make accessibility settings visible
        self.data_layer.set_setting('accessibility.screenreader-show-settings',
                                    True)
        self.data_layer.set_setting('accessibility.screenreader-captions',
                                    False)

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

    def test_a11y_captions(self):
        accessibility_settings = self.settings.open_accessibility()
        screenreader_settings = accessibility_settings.a11y_open_screenreader_settings(
        )

        # Captions should be invisible when screen reader is disabled
        self.assertTrue(
            self.accessibility.is_hidden(
                self.marionette.find_element(
                    *screenreader_settings._screen_reader_captions_locator)))

        # Turn on screen reader
        self.data_layer.set_setting('accessibility.screenreader', True)

        # Captions should be visible when screen reader is on
        self.assertTrue(
            self.accessibility.is_visible(
                self.marionette.find_element(
                    *screenreader_settings._screen_reader_captions_locator)))

        # Turn on color filters
        screenreader_settings.a11y_toggle_captions()

        # Captions settings should be set
        self.wait_for_condition(lambda m: self.data_layer.get_setting(
            'accessibility.screenreader-captions'))
    def test_settings_app(self):

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

        ###################### 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.rect['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')
        moreinfo_page.refresh_root_element()
        GaiaImageCompareTestCase.scroll(self.marionette, 'down', moreinfo_page.screen_element.rect['height'],
                                        screen=moreinfo_page.screen_element)
        self.take_screenshot('dev_info-more_info')
        moreinfo_page.refresh_root_element()
        settings.return_to_prev_menu(device_info_page.screen_element, device_info_page.moreinfo_screen_element)

        device_info_page.tap_your_rights()
        self.take_screenshot('dev_info-rights')
        GaiaImageCompareTestCase.scroll(self.marionette, 'down', device_info_page.rights_screen_element.rect['height'],
                                        screen = device_info_page.rights_screen_element)
        self.take_screenshot('dev_info-rights')
        settings.return_to_prev_menu(device_info_page.screen_element, device_info_page.rights_screen_element)

        device_info_page.tap_your_privacy()
        self.take_screenshot('dev_info-privacy')
        settings.return_to_prev_menu(device_info_page.screen_element, device_info_page.privacy_screen_element)

        device_info_page.tap_legal_info()
        device_info_page.tap_open_source_notices()  # Not checking the entire licensing document
        self.take_screenshot('dev_info-opensource_notice')
        settings.return_to_prev_menu(device_info_page.legal_screen_element, device_info_page.notice_screen_element)

        device_info_page.tap_obtaining_source_code()  # Not checking the entire licensing document
        self.take_screenshot('dev_info-sourcecode')
        settings.return_to_prev_menu(device_info_page.legal_screen_element, device_info_page.source_screen_element)
        self.take_screenshot('dev_info-legal_info')
        settings.return_to_prev_menu(device_info_page.screen_element, device_info_page.legal_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', top_frame=True)
        device_info_page.exit_update_frequency()
        settings.return_to_prev_menu(settings.screen_element, device_info_page.screen_element)

        ###################### Download and its sub pages ######################
        dl_page = settings.open_downloads()
        self.take_screenshot('downloads')
        settings.return_to_prev_menu(settings.screen_element, dl_page.screen_element)

        ###################### Battery and its sub pages ######################
        battery_page = settings.open_battery()
        self.take_screenshot('battery')
        battery_page.tap_turn_on_auto()
        self.take_screenshot('battery-turnon_options')
        battery_page.confirm_turnon_options()
        settings.return_to_prev_menu(settings.screen_element, battery_page.screen_element)

        ###################### Accessibility and its sub pages ######################
        access_page = settings.open_accessibility()
        color_page = access_page.open_color_settings()
        color_page.toggle_filters()
        self.take_screenshot('accessibility-color')
        color_page.toggle_filters()  # set the filter to the original position
        settings.return_to_prev_menu(access_page.screen_element, color_page.screen_element)
        self.take_screenshot('accessibility')
        settings.return_to_prev_menu(settings.screen_element, access_page.screen_element)

        ###################### Improve Firefox OS and its sub pages ######################
        improve_page = settings.open_improve()
        self.take_screenshot('improve')
        GaiaImageCompareTestCase.scroll(self.marionette, 'down', improve_page.screen_element.rect['height'],
                                        screen=improve_page.screen_element)
        self.take_screenshot('improve')
        settings.return_to_prev_menu(settings.screen_element, improve_page.screen_element)

        ###################### Help page ######################
        settings.open_help()
        self.take_screenshot('help')
Example #9
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)
Example #10
0
class TestColorFiltersAccessibility(GaiaTestCase):
    def setUp(self):
        GaiaTestCase.setUp(self)

        # set initial state, including colors disabled
        self.data_layer.set_setting('accessibility.colors.enabled', False)
        self.data_layer.set_setting('accessibility.colors.invert', False)
        self.data_layer.set_setting('accessibility.colors.grayscale', False)
        self.data_layer.set_setting('accessibility.colors.contrast', 0.0)

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

    def test_a11y_color_filters(self):
        accessibility_settings = self.settings.open_accessibility()
        colors_settings = accessibility_settings.a11y_open_color_settings()

        # make sure the actual settings are hidden
        self.assertTrue(
            self.accessibility.is_hidden(
                self.marionette.find_element(
                    *colors_settings._invert_switch_locator)))
        self.assertTrue(
            self.accessibility.is_hidden(
                self.marionette.find_element(
                    *colors_settings._grayscale_switch_locator)))
        self.assertTrue(
            self.accessibility.is_hidden(
                self.marionette.find_element(
                    *colors_settings._contrast_slider_locator)))

        # turn on color filters
        colors_settings.a11y_toggle_filters()

        # the color settings should show up now
        self.wait_for_condition(
            lambda m: colors_settings.invert_switch_visible)
        self.wait_for_condition(
            lambda m: colors_settings.grayscale_switch_visible)
        self.wait_for_condition(lambda m: self.accessibility.is_visible(
            self.marionette.find_element(*colors_settings.
                                         _contrast_slider_locator)))

        colors_settings.a11y_toggle_invert()

        # layers invert setting should be set
        self.wait_for_condition(
            lambda m: self.data_layer.get_setting('layers.effect.invert'))

        colors_settings.a11y_toggle_grayscale()

        # layers grayscale setting should be set
        self.wait_for_condition(
            lambda m: self.data_layer.get_setting('layers.effect.grayscale'))

        # turn off color filters
        colors_settings.a11y_toggle_filters()

        # layers settings should go back to default automatically
        self.wait_for_condition(
            lambda m: not self.data_layer.get_setting('layers.effect.invert'))
        self.wait_for_condition(lambda m: not self.data_layer.get_setting(
            'layers.effect.grayscale'))

        # make sure the actual settings are hidden
        self.assertTrue(colors_settings.invert_switch_hidden)
        self.assertTrue(colors_settings.grayscale_switch_hidden)
        self.assertTrue(
            self.accessibility.is_hidden(
                self.marionette.find_element(
                    *colors_settings._contrast_slider_locator)))
class TestColorFiltersAccessibility(GaiaTestCase):

    def setUp(self):
        GaiaTestCase.setUp(self)

        # make accessibility settings visible
        self.data_layer.set_setting('accessibility.colors.enabled', False)
        self.data_layer.set_setting('accessibility.colors.invert', False)
        self.data_layer.set_setting('accessibility.colors.grayscale', False)
        self.data_layer.set_setting('accessibility.colors.contrast', 0.0)

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

    def test_a11y_color_filters(self):
        accessibility_settings = self.settings.open_accessibility()
        colors_settings = accessibility_settings.a11y_open_color_settings()

        # make sure the actual settings are hidden
        self.assertTrue(self.accessibility.is_hidden(self.marionette.find_element(
            *colors_settings._invert_switch_locator)))
        self.assertTrue(self.accessibility.is_hidden(self.marionette.find_element(
            *colors_settings._grayscale_switch_locator)))
        self.assertTrue(self.accessibility.is_hidden(self.marionette.find_element(
            *colors_settings._contrast_slider_locator)))

        # turn on color filters
        colors_settings.a11y_toggle_filters()

        # the color settings should show up now
        self.wait_for_condition(lambda m: colors_settings.invert_switch_visible)
        self.wait_for_condition(lambda m: colors_settings.grayscale_switch_visible)
        self.wait_for_condition(
            lambda m: self.accessibility.is_visible(self.marionette.find_element(
                *colors_settings._contrast_slider_locator)))

        colors_settings.a11y_toggle_invert()

        # layers invert setting should be set
        self.wait_for_condition(
            lambda m: self.data_layer.get_setting('layers.effect.invert'))

        colors_settings.a11y_toggle_grayscale()

        # layers grayscale setting should be set
        self.wait_for_condition(
            lambda m: self.data_layer.get_setting('layers.effect.grayscale'))

        # turn off color filters
        colors_settings.a11y_toggle_filters()

        # layers settings should go back to default automatically
        self.wait_for_condition(
            lambda m: not self.data_layer.get_setting('layers.effect.invert'))
        self.wait_for_condition(
            lambda m: not self.data_layer.get_setting('layers.effect.grayscale'))

        # make sure the actual settings are hidden
        self.assertTrue(colors_settings.invert_switch_hidden)
        self.assertTrue(colors_settings.grayscale_switch_hidden)
        self.assertTrue(self.accessibility.is_hidden(self.marionette.find_element(
            *colors_settings._contrast_slider_locator)))
Example #12
0
    def test_settings_app(self):

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

        ###################### 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.rect['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')
        moreinfo_page.refresh_root_element()
        GaiaImageCompareTestCase.scroll(
            self.marionette,
            'down',
            moreinfo_page.screen_element.rect['height'],
            screen=moreinfo_page.screen_element)
        self.take_screenshot('dev_info-more_info')
        moreinfo_page.refresh_root_element()
        settings.return_to_prev_menu(device_info_page.screen_element,
                                     device_info_page.moreinfo_screen_element)

        device_info_page.tap_your_rights()
        self.take_screenshot('dev_info-rights')
        GaiaImageCompareTestCase.scroll(
            self.marionette,
            'down',
            device_info_page.rights_screen_element.rect['height'],
            screen=device_info_page.rights_screen_element)
        self.take_screenshot('dev_info-rights')
        settings.return_to_prev_menu(device_info_page.screen_element,
                                     device_info_page.rights_screen_element)

        device_info_page.tap_your_privacy()
        self.take_screenshot('dev_info-privacy')
        settings.return_to_prev_menu(device_info_page.screen_element,
                                     device_info_page.privacy_screen_element)

        device_info_page.tap_legal_info()
        device_info_page.tap_open_source_notices(
        )  # Not checking the entire licensing document
        self.take_screenshot('dev_info-opensource_notice')
        settings.return_to_prev_menu(device_info_page.legal_screen_element,
                                     device_info_page.notice_screen_element)

        device_info_page.tap_obtaining_source_code(
        )  # Not checking the entire licensing document
        self.take_screenshot('dev_info-sourcecode')
        settings.return_to_prev_menu(device_info_page.legal_screen_element,
                                     device_info_page.source_screen_element)
        self.take_screenshot('dev_info-legal_info')
        settings.return_to_prev_menu(device_info_page.screen_element,
                                     device_info_page.legal_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', top_frame=True)
        device_info_page.exit_update_frequency()
        settings.return_to_prev_menu(settings.screen_element,
                                     device_info_page.screen_element)

        ###################### Download and its sub pages ######################
        dl_page = settings.open_downloads()
        self.take_screenshot('downloads')
        settings.return_to_prev_menu(settings.screen_element,
                                     dl_page.screen_element)

        ###################### Battery and its sub pages ######################
        battery_page = settings.open_battery()
        self.take_screenshot('battery')
        battery_page.tap_turn_on_auto()
        self.take_screenshot('battery-turnon_options')
        battery_page.confirm_turnon_options()
        settings.return_to_prev_menu(settings.screen_element,
                                     battery_page.screen_element)

        ###################### Accessibility and its sub pages ######################
        access_page = settings.open_accessibility()
        color_page = access_page.open_color_settings()
        color_page.toggle_filters()
        self.take_screenshot('accessibility-color')
        color_page.toggle_filters()  # set the filter to the original position
        settings.return_to_prev_menu(access_page.screen_element,
                                     color_page.screen_element)
        audio_page = access_page.open_audio_settings()
        self.take_screenshot('accessibility-audio')
        settings.return_to_prev_menu(access_page.screen_element,
                                     audio_page.screen_element)
        input_page = access_page.open_input_settings()
        self.take_screenshot('accessibility-input')
        input_page.tap_change_delay()
        self.take_screenshot('accessibility-input_delay', top_frame=True)
        input_page.tap_confirm_delay()
        settings.return_to_prev_menu(access_page.screen_element,
                                     input_page.screen_element)
        self.take_screenshot('accessibility')
        settings.return_to_prev_menu(settings.screen_element,
                                     access_page.screen_element)

        ###################### Improve Firefox OS and its sub pages ######################
        improve_page = settings.open_improve()
        self.take_screenshot('improve')
        GaiaImageCompareTestCase.scroll(
            self.marionette,
            'down',
            improve_page.screen_element.rect['height'],
            screen=improve_page.screen_element)
        self.take_screenshot('improve')
        improve_page.tap_send_feedback()
        self.take_screenshot('feedback')
        settings.return_to_prev_menu(improve_page.screen_element,
                                     improve_page.feedback_screen_element)
        settings.return_to_prev_menu(settings.screen_element,
                                     improve_page.screen_element)

        ###################### Help page ######################
        settings.open_help()
        self.take_screenshot('help')