def test_unlock_to_homescreen(self):
        """
        https://moztrap.mozilla.org/manage/case/6784/
        """

        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        homescreen = lock_screen.unlock()

        from gaiatest.apps.homescreen.app import Homescreen
        Homescreen(self.marionette).wait_to_be_displayed()
class TestLockScreenNotification(GaiaTestCase):

    _notification_title = "TestNotificationBar_TITLE"
    _notification_body = "TestNotificationBar_BODY"

    def test_lock_screen_wake_with_notification(self):

        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)
        self.device.turn_screen_off()

        # Check if the screen is turned off
        self.assertFalse(self.device.is_screen_enabled)

        self.marionette.execute_script(
            'navigator.mozNotification.createNotification("%s", "%s").show();'
            % (self._notification_title, self._notification_body)
        )
        self.lock_screen.wait_for_notification()

        # Check if the screen is turned on
        self.assertTrue(self.device.is_screen_enabled)

        # Check if the notification is displayed on the screen
        self.assertTrue(self.lock_screen.notifications[0].is_visible)
        self.assertEqual(self.lock_screen.notifications[0].content, self._notification_body)
Ejemplo n.º 3
0
class TestLockScreen(GaiaTestCase):

    _input_passcode = "7931"

    # Homescreen locators
    _homescreen_frame_locator = (By.CSS_SELECTOR, "div.homescreen iframe")
    _homescreen_landing_locator = (By.ID, "icongrid")

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

        # set passcode-lock
        self.data_layer.set_setting("lockscreen.passcode-lock.code", self._input_passcode)
        self.data_layer.set_setting("lockscreen.passcode-lock.enabled", True)

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)

    def test_unlock_to_homescreen_with_passcode(self):
        """Unlock device to homescreen when a passcode is set

        https://github.com/mozilla/gaia-ui-tests/issues/478
        """
        homescreen = self.lock_screen.unlock()
        self.lock_screen.passcode_pad.type_passcode(self._input_passcode)
        self.lock_screen.wait_for_lockscreen_not_visible()

        homescreen.switch_to_homescreen_frame()
        homescreen.wait_for_landing_page_visible()
    def test_unlock_to_homescreen_with_passcode(self):
        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        passcode_pad = lock_screen.unlock_to_passcode_pad()
        homescreen = passcode_pad.type_passcode(self._input_passcode)

        self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)
Ejemplo n.º 5
0
    def post_idle_wifi_browser_run_test(self,
                                        url,
                                        test_name,
                                        permissionFlag=False):

        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        self.data_layer.disable_wifi()  # make sure it starts out disabled
        self.data_layer.connect_to_wifi()
        print "Connected to wifi"

        self.apps.switch_to_displayed_app()
        self.go_to_url(homescreen, url)
        print "Opened URL"
        if permissionFlag:
            time.sleep(2)
            print "Looking for Permission Dialog"
            permission = PermissionDialog(self.marionette)
            permission.wait_for_permission_dialog_displayed()
            print "Pressing Share Button"
            permission.tap_to_confirm_permission()

        print "Waiting 30 seconds for URL to load"
        time.sleep(30)
        self.device.touch_home_button()
        #homescreen.wait_to_be_displayed()
        self.data_layer.disable_wifi()
        print "Disabled wifi"
        self.device.turn_screen_off()
        print ""
        print "Running Test (", test_name, ")"
        self.runPowerTest(test_name, "Browser", "browser")
Ejemplo n.º 6
0
    def test_camera_picture(self):
        """https://moztrap.mozilla.org/manage/case/1296/"""

        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        #self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)

        # Turn off the geolocation prompt, and then launch the camera app
        self.apps.set_permission('Camera', 'geolocation', 'deny')
        self.camera = Camera(self.marionette)
        self.camera.launch()
        while (self.camera.current_flash_mode != 'off'):
            self.camera.tap_toggle_flash_button()
        time.sleep(2)
        self.marionette.switch_to_frame()
        camera_frame = Wait(self.marionette, timeout=120).until(
            expected.element_present(*self._camera_frame_locator))
        camera_frame.tap()
        self.marionette.switch_to_frame(camera_frame)

        print ""
        print "Running Camera Picture Test"
        self.runPowerTest("camera_picture", "Camera", "camera",
                          PICTURE_INTERVAL_TIME, self.take_picture)
Ejemplo n.º 7
0
    def music_playback(self, screen_flag):
        self.push_resource(os.path.abspath('source/MP3_Au4.mp3'))
        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()
        #self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)

        music_app = Music(self.marionette)
        music_app.launch()
        music_app.wait_for_music_tiles_displayed()

        # switch to songs view
        list_view = music_app.tap_songs_tab()

        # check that songs (at least one) are available
        songs = list_view.media
        self.assertGreater(len(songs), 0, 'The file could not be found')

        player_view = songs[0].tap_first_song()

        play_time = time.strptime('00:10', '%M:%S')
        self.wait_for_condition(lambda m: player_view.player_elapsed_time >= play_time)

        # validate playback
        # self.assertTrue(player_view.is_player_playing(), 'The player is not playing')

        self.marionette.switch_to_frame()
        print ""
        if screen_flag:
            print "Running Music Test (screen on)"
            test_name = "music_playback"
        else:
            self.device.turn_screen_off()
            print "Running Music Test (screen off)"
            test_name = "background_music_playback"
        self.runPowerTest(test_name, "Music", "music")
class TestLockScreen(GaiaTestCase):

    _input_passcode = '7931'

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

        #set passcode-lock
        self.data_layer.set_setting('lockscreen.passcode-lock.code',
                                    self._input_passcode)
        self.data_layer.set_setting('lockscreen.passcode-lock.enabled', True)

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)

    def test_unlock_to_emergency_call_screen(self):
        """Test that emergency call screen can open

        https://github.com/mozilla/gaia-ui-tests/issues/762
        """
        self.lock_screen.unlock()
        emergency_screen = self.lock_screen.passcode_pad.tap_emergency_call()

        self.assertTrue(emergency_screen.is_emergency_dialer_keypad_displayed,
                        'emergency dialer keypad is not displayed')
Ejemplo n.º 9
0
    def test_post_camera_preview(self):

        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        # Turn off the geolocation prompt, and then launch the camera app
        self.apps.set_permission('Camera', 'geolocation', 'deny')
        self.camera = Camera(self.marionette)
        self.camera.launch()
        while (self.camera.current_flash_mode != 'off'):
            self.camera.tap_toggle_flash_button()
        time.sleep(2)
        self.marionette.switch_to_frame()
        camera_frame = Wait(self.marionette, timeout=120).until(
            expected.element_present(*self._camera_frame_locator))
        camera_frame.tap()
        self.marionette.switch_to_frame(camera_frame)
        time.sleep(20)
        self.device.touch_home_button()
        time.sleep(10)
        self.device.turn_screen_off()

        print ""
        print "Running Post Camera Preview Test"
        self.runPowerTest("post_idle_camera_preview", "Camera", "camera")
Ejemplo n.º 10
0
    def test_background_music_playback(self):
        self.push_resource(os.path.abspath('source/MP3_Au4.mp3'))
        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()
        self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)

        music_app = Music(self.marionette)
        music_app.launch()
        music_app.wait_for_music_tiles_displayed()

        # switch to songs view
        list_view = music_app.tap_songs_tab()

        # check that songs (at least one) are available
        songs = list_view.media
        self.assertGreater(len(songs), 0, 'The file could not be found')

        player_view = songs[0].tap_first_song()

        play_time = time.strptime('00:03', '%M:%S')
        self.wait_for_condition(lambda m: player_view.player_elapsed_time >= play_time)

        # validate playback
        self.assertTrue(player_view.is_player_playing(), 'The player is not playing')

        self.marionette.switch_to_frame()
        self.device.turn_screen_off()
        print ""
        print "Running Music Test (screen off)"
        self.runPowerTest("background_music_playback", "Music", "music")
    def test_lock_screen_open_sms_notification(self):
        lock_screen = LockScreen(self.marionette)

        # Check if the screen is turned off
        #self.assertFalse(self.device.is_screen_enabled)

        _text_message_content = "Automated Test %s" % str(time.time())

        system = System(self.marionette)

        # Send a SMS to the device
        self.data_layer.send_sms(self.testvars['carrier']['phone_number'], _text_message_content)
        
        self.device.lock()
        self.device.turn_screen_off()
        
        lock_screen.wait_for_notification()
        
        #Click notification
        notifications = self.marionette.find_elements(By.CSS_SELECTOR, '#notifications-lockscreen-container div[class="notification"]')

        for no in notifications:
            if "Automated Test" in no.text:
                no.tap()
                open = self.marionette.find_element(By.CSS_SELECTOR, '#notifications-lockscreen-container span[class="button-actionable"]')
                open.tap()
                break;
        
        self.wait_for_condition(lambda m: self.apps.displayed_app.name == 'Messages')
        self.assertEqual(self.apps.displayed_app.name, 'Messages')
class TestCameraUnlockWithPasscode(GaiaTestCase):

    # Input data
    _input_passcode = '7931'

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

        # Turn off geolocation prompt
        self.apps.set_permission('System', 'geolocation', 'deny')

        self.data_layer.set_setting('lockscreen.passcode-lock.code', self._input_passcode)
        self.data_layer.set_setting('lockscreen.passcode-lock.enabled', True)

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)
        self.lock_screen.wait_for_lockscreen_handle_visible()

    def test_unlock_to_camera_with_passcode(self):
        # https://github.com/mozilla/gaia-ui-tests/issues/479

        self.lock_screen.swipe_to_unlock()
        camera = self.lock_screen.tap_camera_button()

        self.assertFalse(camera.is_gallery_button_visible)

        camera.tap_switch_source()
        camera.wait_for_capture_ready()

        self.assertFalse(camera.is_gallery_button_visible)
Ejemplo n.º 13
0
 def test_unlock_to_emergency_call_screen(self):
     lock_screen = LockScreen(self.marionette)
     passcode_pad = lock_screen.unlock_to_passcode_pad()
     emergency_call = passcode_pad.tap_emergency_call()
     emergency_call.switch_to_emergency_call_frame()
     self.assertTrue(emergency_call.is_emergency_dialer_keypad_displayed,
                     'emergency dialer keypad is not displayed')
    def test_unlock_to_homescreen(self):
        # https://moztrap.mozilla.org/manage/case/1296/
        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        self.wait_for_condition(
            lambda m: self.apps.displayed_app.name == homescreen.name)
Ejemplo n.º 15
0
    def test_camera_video(self):
        """https://moztrap.mozilla.org/manage/case/1296/"""

        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        #self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)

        # Turn off the geolocation prompt, and then launch the camera app
        self.apps.set_permission('Camera', 'geolocation', 'deny')
        self.camera = Camera(self.marionette)
        self.camera.launch()
        while (self.camera.current_flash_mode != 'off'):
            self.camera.tap_toggle_flash_button();
        time.sleep(2)
        time.sleep(5)
        self.camera.tap_switch_source()
        time.sleep(5)
        self.marionette.switch_to_frame()
        camera_frame = Wait(self.marionette, timeout=120).until(
            expected.element_present(*self._camera_frame_locator))
        camera_frame.tap()
        self.marionette.switch_to_frame(camera_frame)
        self.camera.tap_capture()

        print ""
        print "Running Camera Video Test"
        self.runPowerTest("camera_video", "Camera", "camera")
        self.camera.tap_capture()
 def test_unlock_to_emergency_call_screen(self):
     lock_screen = LockScreen(self.marionette)
     lock_screen.switch_to_frame()
     emergency_call = lock_screen.unlock_to_emergency_call()
     emergency_call.switch_to_emergency_call_frame()
     self.assertTrue(emergency_call.is_emergency_dialer_keypad_displayed,
                    'emergency dialer keypad is not displayed')
    def test_camera_video(self):
        """https://moztrap.mozilla.org/manage/case/1296/"""

        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)

        # Turn off the geolocation prompt, and then launch the camera app
        self.apps.set_permission('Camera', 'geolocation', 'deny')
        self.camera = Camera(self.marionette)
        self.camera.launch()
        time.sleep(5)
        self.camera.tap_switch_source()
        time.sleep(5)
        self.marionette.switch_to_frame()
        self.wait_for_element_present(*self._camera_frame_locator)
        camera_frame = self.marionette.find_element(*self._camera_frame_locator)
        camera_frame.tap()
        self.marionette.switch_to_frame(camera_frame)
        self.camera.tap_capture()

        print ""
        print "Running Camera Video Test"
        self.runPowerTest("camera_video", "Camera", "camera")
        self.camera.tap_capture()
    def setUp(self):
        GaiaTestCase.setUp(self)

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)
        self.lock_screen.wait_for_lockscreen_handle_visible()
Ejemplo n.º 19
0
    def post_idle_wifi_browser_run_test(self, url, test_name, permissionFlag = False):

        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        self.data_layer.disable_wifi() # make sure it starts out disabled
        self.data_layer.connect_to_wifi()
        print "Connected to wifi"

        self.apps.switch_to_displayed_app()
        self.go_to_url(homescreen, url)
        print "Opened URL"
        if permissionFlag:
            time.sleep(2)
            print "Looking for Permission Dialog"
            permission = PermissionDialog(self.marionette)
            permission.wait_for_permission_dialog_displayed()
            print "Pressing Share Button"
            permission.tap_to_confirm_permission()

        print "Waiting 30 seconds for URL to load"
        time.sleep(30)
        self.device.touch_home_button()
        #homescreen.wait_to_be_displayed()
        self.data_layer.disable_wifi()
        print "Disabled wifi"
        self.device.turn_screen_off()
        print ""
        print "Running Test (", test_name, ")"
        self.runPowerTest(test_name, "Browser", "browser")
Ejemplo n.º 20
0
    def test_post_camera_preview(self):

        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        # Turn off the geolocation prompt, and then launch the camera app
        self.apps.set_permission('Camera', 'geolocation', 'deny')
        self.camera = Camera(self.marionette)
        self.camera.launch()
        while (self.camera.current_flash_mode != 'off'):
            self.camera.tap_toggle_flash_button();
        time.sleep(2)
        self.marionette.switch_to_frame()        
        camera_frame = Wait(self.marionette, timeout=120).until(
            expected.element_present(*self._camera_frame_locator))
        camera_frame.tap()
        self.marionette.switch_to_frame(camera_frame)
        time.sleep(20)
        self.device.touch_home_button()
        time.sleep(10)
        self.device.turn_screen_off()

        print ""
        print "Running Post Camera Preview Test"
        self.runPowerTest("post_idle_camera_preview", "Camera", "camera")
class TestLockScreen(GaiaTestCase):

    _input_passcode = '7931'

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

        #set passcode-lock
        self.data_layer.set_setting('lockscreen.passcode-lock.code', self._input_passcode)
        self.data_layer.set_setting('lockscreen.passcode-lock.enabled', True)

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)

    def test_unlock_to_homescreen_with_passcode(self):
        """Unlock device to homescreen when a passcode is set

        https://github.com/mozilla/gaia-ui-tests/issues/478
        """
        homescreen = self.lock_screen.unlock()
        self.lock_screen.passcode_pad.type_passcode(self._input_passcode)
        self.lock_screen.wait_for_lockscreen_not_visible()

        homescreen.switch_to_homescreen_frame()
        homescreen.wait_for_homescreen_displayed()
class TestCameraUnlockWithPasscode(GaiaTestCase):

    # Input data
    _input_passcode = '7931'

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

        # Turn off geolocation prompt
        self.apps.set_permission('System', 'geolocation', 'deny')

        self.data_layer.set_setting('lockscreen.passcode-lock.code', self._input_passcode)
        self.data_layer.set_setting('lockscreen.passcode-lock.enabled', True)

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)

    def test_unlock_to_camera_with_passcode(self):
        # https://github.com/mozilla/gaia-ui-tests/issues/479

        camera = self.lock_screen.unlock_to_camera()
        self.lock_screen.wait_for_lockscreen_not_visible()

        self.assertFalse(self.lockscreen.is_locked)

        camera.switch_to_camera_frame()

        self.assertFalse(camera.is_gallery_button_visible)

        camera.tap_switch_source()
        camera.wait_for_capture_ready()

        self.assertFalse(camera.is_gallery_button_visible)
Ejemplo n.º 23
0
    def test_unlock_to_homescreen_with_passcode(self):
        lock_screen = LockScreen(self.marionette)
        passcode_pad = lock_screen.unlock_to_passcode_pad()
        homescreen = passcode_pad.type_passcode(self._input_passcode)

        self.wait_for_condition(
            lambda m: self.apps.displayed_app.name == homescreen.name)
Ejemplo n.º 24
0
    def test_lockscreen_notification(self):

        # the lockscreen should display the carrier name
        Wait(self.marionette,
             timeout=30).until(lambda m: self.device.has_mobile_connection)

        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        self.marionette.execute_script(
            'new Notification("%s", {body: "%s"});' %
            (self._notification_title, self._notification_body))
        self.marionette.execute_script(
            'new Notification("%s", {body: "%s"});' %
            (self._notification_title + "_2", self._notification_body + "_2"))
        self.marionette.execute_script(
            'new Notification("%s", {body: "%s"});' %
            (self._notification_title + "_3", self._notification_body + "_3"))
        Wait(self.marionette).until(
            lambda m: len(lock_screen.notifications) == 3)

        # wait until device is off and turn back on
        Wait(self.marionette,
             timeout=20).until(lambda m: not self.device.is_screen_enabled)
        self.device.turn_screen_on()
        self.take_screenshot()
class TestLockScreen(GaiaTestCase):

    _input_passcode = '7931'

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

        #set passcode-lock
        self.data_layer.set_setting('lockscreen.passcode-lock.code',
                                    self._input_passcode)
        self.data_layer.set_setting('lockscreen.passcode-lock.enabled', True)

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)

    def test_unlock_to_homescreen_with_passcode(self):
        """Unlock device to homescreen when a passcode is set

        https://github.com/mozilla/gaia-ui-tests/issues/478
        """
        homescreen = self.lock_screen.unlock()
        self.lock_screen.passcode_pad.type_passcode(self._input_passcode)
        self.lock_screen.wait_for_lockscreen_not_visible()

        homescreen.switch_to_homescreen_frame()
        homescreen.wait_for_landing_page_visible()
    def test_unlock_to_homescreen(self):
        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.a11y_click_unlock_button()
        lock_screen.wait_for_lockscreen_not_visible()
        self.assertEquals(self.apps.displayed_app.name, homescreen.name)

        windows = self.marionette.find_element(By.ID, 'windows')
        self.assertFalse(self.accessibility.is_hidden(windows))
    def test_a11y_unlock_to_homescreen(self):
        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.a11y_click_unlock_button()
        lock_screen.wait_for_lockscreen_not_visible()
        self.assertEquals(self.apps.displayed_app.name, homescreen.name)

        windows = self.marionette.find_element(By.ID, 'windows')
        self.assertFalse(self.accessibility.is_hidden(windows))
 def test_unlock_to_emergency_call_screen(self):
     lock_screen = LockScreen(self.marionette)
     passcode_pad = lock_screen.unlock_to_passcode_pad()
     emergency_call = passcode_pad.tap_emergency_call()
     if self.device.has_mobile_connection:
         emergency_call.switch_to_emergency_call_frame()
         self.assertTrue(emergency_call.is_emergency_dialer_keypad_displayed,
                        'emergency dialer keypad is not displayed')
Ejemplo n.º 29
0
    def test_unlock_to_homescreen(self):

        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        homescreen = lock_screen.unlock()

        Wait(self.marionette).until(lambda m: self.apps.displayed_app.name == homescreen.name)
        self.take_screenshot()
Ejemplo n.º 30
0
    def test_unlock_to_homescreen(self):

        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        homescreen = lock_screen.unlock()

        Wait(self.marionette).until(
            lambda m: self.apps.displayed_app.name == homescreen.name)
        self.take_screenshot()
Ejemplo n.º 31
0
    def test_unlock_to_homescreen_with_passcode(self):
        """
        https://moztrap.mozilla.org/manage/case/1296/
        """
        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        homescreen = lock_screen.unlock_to_homescreen_using_passcode(self._input_passcode)

        self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)
    def test_unlock_to_homescreen_with_passcode(self):
        """
        https://moztrap.mozilla.org/manage/case/1296/
        """
        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        homescreen = lock_screen.unlock_to_homescreen_using_passcode(self._input_passcode)

        homescreen.wait_to_be_displayed()
    def test_unlock_to_homescreen_with_passcode(self):
        """
        https://moztrap.mozilla.org/manage/case/1296/
        """
        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        homescreen = lock_screen.unlock_to_homescreen_using_passcode(self._input_passcode)

        self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)
    def setUp(self):
        GaiaTestCase.setUp(self)

        # Turn off geolocation prompt
        self.apps.set_permission('Camera', 'geolocation', 'deny')

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)
Ejemplo n.º 35
0
    def test_lock_screen_notification(self):
        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        self.marionette.execute_script('new Notification("%s", {body: "%s"});'
                                       % (self._notification_title, self._notification_body))

        self.assertEqual(len(lock_screen.notifications), 1)
        self.assertTrue(lock_screen.notifications[0].is_visible)
        self.assertEqual(lock_screen.notifications[0].content, self._notification_body)
        self.assertEqual(lock_screen.notifications[0].title, self._notification_title)
Ejemplo n.º 36
0
    def test_unlock_to_camera(self):
        """https://moztrap.mozilla.org/manage/case/2460/"""

        lock_screen = LockScreen(self.marionette)
        camera = lock_screen.unlock_to_camera()
        self.wait_for_condition(lambda m: not self.device.is_locked)

        # Wait fot the capture button displayed. no need to take a photo.
        self.apps.switch_to_displayed_app()
        camera.wait_for_capture_ready()
    def test_unlock_to_homescreen_with_passcode(self):
        """
        https://moztrap.mozilla.org/manage/case/1296/
        """
        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        homescreen = lock_screen.unlock_to_homescreen_using_passcode(
            self._input_passcode)

        homescreen.wait_to_be_displayed()
    def test_unlock_to_homescreen_on(self):
        """https://moztrap.mozilla.org/manage/case/1296/"""

        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)
        print ""
        print "Running Idle Test (screen on)"
        self.runPowerTest("idle_screen_on", "Homescreen", "verticalhome")
    def test_unlock_to_homescreen_with_passcode(self):
        """Unlock device to homescreen when a passcode is set

        https://github.com/mozilla/gaia-ui-tests/issues/478
        """
        lock_screen = LockScreen(self.marionette)
        passcode_pad = lock_screen.unlock_to_passcode_pad()
        homescreen = passcode_pad.type_passcode(self._input_passcode)

        self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)
    def test_dialer_miss_call_from_known_contact_notification(self):
        """
        https://moztrap.mozilla.org/manage/case/9294/
        """
        PLIVO_TIMEOUT = 30

        self.device.lock()

        from gaiatest.utils.plivo.plivo_util import PlivoUtil
        self.plivo = PlivoUtil(
            self.testvars['plivo']['auth_id'],
            self.testvars['plivo']['auth_token'],
            self.testvars['plivo']['phone_number']
        )
        self.call_uuid = self.plivo.make_call(
            to_number=self.testvars['local_phone_numbers'][0].replace('+', ''),
            timeout=PLIVO_TIMEOUT)

        call_screen = CallScreen(self.marionette)
        call_screen.wait_for_incoming_call_with_locked_screen()
        self.plivo.hangup_call(self.call_uuid)

        Wait(self.plivo, timeout=PLIVO_TIMEOUT).until(
            lambda p: p.is_call_completed(self.call_uuid),
            message="Plivo didn't report the call as completed")
        self.call_uuid = None

        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        lock_screen.wait_for_notification()

        # Check if the screen is turned on
        self.assertTrue(self.device.is_screen_enabled)

        # Verify the user sees a missed call notification message
        # and the known contacts info is shown.
        self.assertTrue(lock_screen.notifications[0].is_visible)
        self.assertEqual(lock_screen.notifications[0].title, 'Missed call')
        self.assertTrue(self.contact.givenName in lock_screen.notifications[0].content)

        self.device.unlock()

        system = System(self.marionette)
        system.wait_for_notification_toaster_not_displayed()

        # Expand the notification bar
        system.wait_for_status_bar_displayed()
        utility_tray = system.open_utility_tray()
        utility_tray.wait_for_notification_container_displayed()

        # Verify the user sees the missed call event in the notification center
        # and the known contacts info is shown.
        notifications = utility_tray.notifications
        self.assertEqual(notifications[0].title, 'Missed call')
        self.assertTrue(self.contact.givenName in notifications[0].content)
Ejemplo n.º 41
0
    def test_lockscreen_unlock_to_homescreen_with_passcode(self):
        # Need to wait until the carrier is detected, so the lockscreen will display the carrier information
        Wait(self.marionette, timeout = 30).until(lambda m: self.device.has_mobile_connection)

        self.data_layer.set_time(self._seconds_since_epoch * 1000)
        self.data_layer.set_setting('time.timezone', 'Atlantic/Reykjavik')

        # set passcode-lock
        self.data_layer.set_setting('lockscreen.passcode-lock.code', self._input_passcode)
        self.data_layer.set_setting('lockscreen.passcode-lock.enabled', True)

        # this time we need it locked!
        self.device.lock()

        # 1st try

        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        lock_screen.unlock_to_passcode_pad()
        self.take_screenshot()
        self.device.turn_screen_off()

        # 2nd try
        self.device.turn_screen_on()
        lock_screen.switch_to_frame()
        passcode_pad = lock_screen.unlock_to_passcode_pad()
        homescreen = passcode_pad.type_passcode(self._input_passcode)

        Wait(self.marionette).until(lambda m: self.apps.displayed_app.name == homescreen.name)
        self.take_screenshot()
    def test_unlock_to_camera(self):
        # https://moztrap.mozilla.org/manage/case/1296/
        lock_screen = LockScreen(self.marionette)
        camera = lock_screen.unlock_to_camera()
        lock_screen.wait_for_lockscreen_not_visible()

        self.assertFalse(self.device.is_locked)

        # Wait fot the capture button displayed. no need to take a photo.
        camera.switch_to_camera_frame()
        camera.wait_for_camera_ready()
    def test_unlock_to_homescreen_on(self):
        """https://moztrap.mozilla.org/manage/case/1296/"""

        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        #self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)
        #homescreen.wait_to_be_displayed()
        print ""
        print "Running Idle Test (screen on)"
        self.runPowerTest("idle_screen_on", "Homescreen", "verticalhome")
Ejemplo n.º 44
0
 def test_lock_screen_notification(self):
     lock_screen = LockScreen(self.marionette)
     lock_screen.switch_to_frame()
     prev_notifications_length = len(lock_screen.notifications)
     self.marionette.execute_script('new Notification("%s", {body: "%s"});'
                                    % (self._notification_title, self._notification_body))
     self.assertEqual(len(lock_screen.notifications), prev_notifications_length + 1)
     # The last added notification is the first in the notifications array
     self.assertTrue(lock_screen.notifications[0].is_visible)
     self.assertEqual(lock_screen.notifications[0].content, self._notification_body)
     self.assertEqual(lock_screen.notifications[0].title, self._notification_title)
    def test_unlock_to_camera(self):
        # https://moztrap.mozilla.org/manage/case/1296/
        lock_screen = LockScreen(self.marionette)
        camera = lock_screen.unlock_to_camera()
        lock_screen.wait_for_lockscreen_not_visible()

        self.assertFalse(self.device.is_locked)

        # Wait fot the capture button displayed. no need to take a photo.
        camera.switch_to_camera_frame()
        camera.wait_for_camera_ready()
    def setUp(self):
        GaiaTestCase.setUp(self)

        #set passcode-lock
        self.data_layer.set_setting('lockscreen.passcode-lock.code',
                                    self._input_passcode)
        self.data_layer.set_setting('lockscreen.passcode-lock.enabled', True)

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)
    def test_unlock_to_homescreen_with_passcode(self):
        """Unlock device to homescreen when a passcode is set

        https://github.com/mozilla/gaia-ui-tests/issues/478
        """
        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()
        lock_screen.passcode_pad.type_passcode(self._input_passcode)

        self.wait_for_condition(
            lambda m: self.apps.displayed_app.name == homescreen.name)
Ejemplo n.º 48
0
    def test_unlock_to_homescreen(self):
        """
        https://moztrap.mozilla.org/manage/case/6784/
        """

        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        homescreen = lock_screen.unlock()

        from gaiatest.apps.homescreen.app import Homescreen
        Homescreen(self.marionette).wait_to_be_displayed()
Ejemplo n.º 49
0
    def test_a11y_unlock_to_camera(self):
        lock_screen = LockScreen(self.marionette)
        camera = lock_screen.a11y_click_camera_button()
        lock_screen.wait_for_lockscreen_not_visible()
        self.assertEquals(self.apps.displayed_app.name, camera.name)

        windows = self.marionette.find_element(By.ID, 'windows')
        self.assertFalse(self.accessibility.is_hidden(windows))

        camera.switch_to_camera_frame()
        camera.wait_for_capture_ready()
Ejemplo n.º 50
0
    def test_unlock_to_homescreen(self):
        """
        https://moztrap.mozilla.org/manage/case/6784/
        """

        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        homescreen = lock_screen.unlock()

        self.wait_for_condition(
            lambda m: self.apps.displayed_app.name == homescreen.name)
    def test_unlock_to_emergency_call_screen(self):
        """Test that emergency call screen can open

        https://github.com/mozilla/gaia-ui-tests/issues/762
        """
        lock_screen = LockScreen(self.marionette)
        lock_screen.unlock()
        emergency_screen = lock_screen.passcode_pad.tap_emergency_call()

        self.assertTrue(emergency_screen.is_emergency_dialer_keypad_displayed,
                        'emergency dialer keypad is not displayed')
    def setUp(self):
        GaiaTestCase.setUp(self)

        # Turn off geolocation prompt
        self.apps.set_permission('System', 'geolocation', 'deny')

        self.data_layer.set_setting('lockscreen.passcode-lock.code', self._input_passcode)
        self.data_layer.set_setting('lockscreen.passcode-lock.enabled', True)

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)
        self.lock_screen.wait_for_lockscreen_handle_visible()
Ejemplo n.º 53
0
    def test_unlock_to_camera(self):
        """https://moztrap.mozilla.org/manage/case/2460/"""

        lock_screen = LockScreen(self.marionette)
        lock_screen.switch_to_frame()
        camera = lock_screen.unlock_to_camera()
        self.wait_for_condition(
            lambda m: self.apps.displayed_app.name == camera.name)

        self.assertFalse(self.device.is_locked)

        # Wait fot the capture button displayed. no need to take a photo.
        self.apps.switch_to_displayed_app()
        camera.wait_for_capture_ready()
    def test_unlock_to_emergency_call_screen(self):
        lock_screen = LockScreen(self.marionette)
        passcode_pad = lock_screen.unlock_to_passcode_pad()
        emergency_screen = passcode_pad.tap_emergency_call()

        self.assertTrue(emergency_screen.is_emergency_dialer_keypad_displayed,
                        'emergency dialer keypad is not displayed')
    def test_unlock_to_homescreen(self):
        """https://moztrap.mozilla.org/manage/case/1296/"""

        lock_screen = LockScreen(self.marionette)
        homescreen = lock_screen.unlock()

        self.wait_for_condition(lambda m: self.apps.displayed_app.name == homescreen.name)
class TestLockScreen(GaiaTestCase):

    _input_passcode = '7931'

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

        #set passcode-lock
        self.data_layer.set_setting('lockscreen.passcode-lock.code', self._input_passcode)
        self.data_layer.set_setting('lockscreen.passcode-lock.enabled', True)

        # this time we need it locked!
        self.lockscreen.lock()
        self.lock_screen = LockScreen(self.marionette)

    def test_unlock_to_emergency_call_screen(self):
        """Test that emergency call screen can open

        https://github.com/mozilla/gaia-ui-tests/issues/762
        """
        self.lock_screen.unlock()
        emergency_screen = self.lock_screen.passcode_pad.tap_emergency_call()

        self.assertTrue(emergency_screen.is_emergency_dialer_keypad_displayed,
                        'emergency dialer keypad is not displayed')
    def test_unlock_to_emergency_call_screen(self):
        """Test that emergency call screen can open

        https://github.com/mozilla/gaia-ui-tests/issues/762
        """
        lock_screen = LockScreen(self.marionette)
        lock_screen.unlock()
        emergency_screen = lock_screen.passcode_pad.tap_emergency_call()

        self.assertTrue(emergency_screen.is_emergency_dialer_keypad_displayed,
                        'emergency dialer keypad is not displayed')