Пример #1
0
    def test_capture_multiple_shots(self):
        # https://moztrap.mozilla.org/manage/case/1325/
        self.camera = Camera(self.marionette)
        self.camera.launch()

        self.camera.take_photo()

        self.camera.tap_to_display_filmstrip()

        image_preview = self.camera.filmstrip_images[0].tap()
        image_preview.wait_for_media_frame()
        self.assertTrue(image_preview.is_image_preview_visible)

        self.camera = image_preview.tap_camera()

        self.camera.take_photo()

        self.camera.tap_to_display_filmstrip()

        image_preview = self.camera.filmstrip_images[1].tap()
        image_preview.wait_for_media_frame()
        self.assertTrue(image_preview.is_image_preview_visible)

        self.camera = image_preview.tap_camera()

        self.camera.take_photo()

        self.camera.tap_to_display_filmstrip()

        image_preview = self.camera.filmstrip_images[2].tap()
        image_preview.wait_for_media_frame()
        self.assertTrue(image_preview.is_image_preview_visible)

        self.camera = image_preview.tap_camera()
Пример #2
0
 def tap_camera(self):
     self.marionette.find_element(*self._camera_button_locator).tap()
     self.wait_for_element_not_displayed(*self._actions_menu_locator)
     from gaiatest.apps.camera.app import Camera
     camera = Camera(self.marionette)
     camera.switch_to_camera_frame()
     return camera
Пример #3
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)
Пример #4
0
    def test_capture_a_video(self):
        # https://moztrap.mozilla.org/manage/case/2477/

        self.camera = Camera(self.marionette)
        self.camera.launch()

        self.camera.tap_switch_source()

        self.camera.tap_capture()
        self.camera.wait_for_video_capturing()

        # Wait for 3 seconds of recording
        self.wait_for_condition(lambda m: self.camera.video_timer >= time.
                                strptime('00:03', '%M:%S'))

        # Stop recording
        self.camera.tap_capture()
        self.camera.wait_for_video_timer_not_visible()

        # Wait for image to be added in to filmstrip
        self.camera.wait_for_filmstrip_visible()

        # Find the new film thumbnail in the film strip
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that video saved to sdcard
        videos_after_test = self.get_video_files()
        self.assertEqual(len(videos_after_test), 1)
Пример #5
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")
Пример #6
0
    def test_camera_flash_modes(self):
        # https://moztrap.mozilla.org/manage/case/1325/
        self.previous_number_of_pictures = len(self.data_layer.picture_files)
        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Toggle flash mode to "on"
        self.camera.tap_toggle_flash_button()
        self.assertEqual(self.camera.current_flash_mode, 'on')

        # Take a photo
        self.camera.take_photo()

        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.picture_files) == self.
            previous_number_of_pictures + 1, 10)
        self.assertEqual(len(self.data_layer.picture_files),
                         self.previous_number_of_pictures + 1)

        # Toggle flash mode to "off"
        self.camera.tap_toggle_flash_button()
        self.assertEqual(self.camera.current_flash_mode, 'off')

        first_image_src = self.camera.current_image_src
        # Take a photo
        self.camera.take_photo()
        self.camera.wait_for_picture_to_change(first_image_src)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.picture_files) == self.
            previous_number_of_pictures + 2, 10)
        self.assertEqual(len(self.data_layer.picture_files),
                         self.previous_number_of_pictures + 2)

        # Toggle flash mode to "auto"
        self.camera.tap_toggle_flash_button()
        self.assertEqual(self.camera.current_flash_mode, 'auto')

        second_image_src = self.camera.current_image_src
        # Take a photo
        self.camera.take_photo()
        self.camera.wait_for_picture_to_change(second_image_src)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.picture_files) == self.
            previous_number_of_pictures + 3, 10)
        self.assertEqual(len(self.data_layer.picture_files),
                         self.previous_number_of_pictures + 3)
Пример #7
0
    def test_capture_multiple_shots(self):
        """https://moztrap.mozilla.org/manage/case/1325/"""

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Take a photo
        self.camera.take_photo()

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == 1)
        self.assertEqual(len(self.data_layer.picture_files), 1)

        # Take a photo
        self.camera.take_photo()

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == 2)
        self.assertEqual(len(self.data_layer.picture_files), 2)

        # Take a photo
        self.camera.take_photo()

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == 3)
        self.assertEqual(len(self.data_layer.picture_files), 3)
Пример #8
0
 def tap_camera(self):
     self.marionette.find_element(*self._camera_button_locator).tap()
     self.wait_for_element_not_displayed(*self._actions_menu_locator)
     from gaiatest.apps.camera.app import Camera
     camera = Camera(self.marionette)
     camera.switch_to_camera_frame()
     return camera
Пример #9
0
class TestCameraMultipleShots(GaiaMtbfTestCase):
    def setUp(self):
        GaiaMtbfTestCase.setUp(self)

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

    def test_capture_multiple_shots(self):
        """https://moztrap.mozilla.org/manage/case/1325/"""
        self.previous_number_of_pictures = len(self.data_layer.picture_files)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Take a photo
        if self.camera.camera_mode == u'video':
            self.camera.tap_switch_source()

        self.camera.take_photo()

        self.apps.switch_to_displayed_app()
        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.picture_files) == self.
            previous_number_of_pictures + 1, 10)
        self.assertEqual(len(self.data_layer.picture_files),
                         self.previous_number_of_pictures + 1)

        # Take a photo
        self.camera.take_photo()

        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.picture_files) == self.
            previous_number_of_pictures + 2, 10)
        self.assertEqual(len(self.data_layer.picture_files),
                         self.previous_number_of_pictures + 2)

        # Take a photo
        self.camera.take_photo()

        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.picture_files) == self.
            previous_number_of_pictures + 3, 10)
        self.assertEqual(len(self.data_layer.picture_files),
                         self.previous_number_of_pictures + 3)

    def tearDown(self):
        GaiaMtbfTestCase.tearDown(self)
Пример #10
0
    def setUp(self):
        GaiaMtbfTestCase.setUp(self)

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

        self.camera = Camera(self.marionette)
        self.camera.launch()
Пример #11
0
    def tap_camera_button(self):
        self.marionette.find_element(*self._camera_button_locator).tap()
        self.wait_for_lockscreen_not_visible()

        from gaiatest.apps.camera.app import Camera
        camera = Camera(self.marionette)
        camera.switch_to_camera_frame()

        return camera
Пример #12
0
 def tap_switch_to_camera(self):
     self.marionette.find_element(*self._camera_locator).tap()
     from gaiatest.apps.camera.app import Camera
     camera_app = Camera(self.marionette)
     Wait(self.marionette).until(lambda m: self.apps.displayed_app.name == camera_app.name)
     self.apps.switch_to_displayed_app()
     camera_app.wait_for_capture_ready()
     self.wait_for_element_not_displayed(*self._loading_screen_locator)
     return camera_app
Пример #13
0
    def tap_camera_button(self):
        self.marionette.find_element(*self._camera_button_locator).tap()
        self.wait_for_lockscreen_not_visible()

        from gaiatest.apps.camera.app import Camera
        camera = Camera(self.marionette)
        camera.switch_to_camera_frame()

        return camera
Пример #14
0
 def tap_camera(self):
     self.marionette.find_element(*self._camera_button_locator).tap()
     self.wait_for_element_not_displayed(*self._actions_menu_locator)
     from gaiatest.apps.camera.app import Camera
     camera = Camera(self.marionette)
     self.wait_for_condition(lambda m: self.apps.displayed_app.name == camera.name)
     self.apps.switch_to_displayed_app()
     camera.wait_for_capture_ready()
     return camera
Пример #15
0
 def tap_camera(self):
     self.marionette.find_element(*self._camera_button_locator).tap()
     self.wait_for_element_not_displayed(*self._actions_menu_locator)
     from gaiatest.apps.camera.app import Camera
     camera = Camera(self.marionette)
     self.wait_for_condition(lambda m: self.apps.displayed_app.name == camera.name)
     self.apps.switch_to_displayed_app()
     camera.wait_for_capture_ready()
     return camera
Пример #16
0
 def tap_switch_to_camera(self):
     self.marionette.find_element(*self._camera_locator).tap()
     from gaiatest.apps.camera.app import Camera
     camera_app = Camera(self.marionette)
     Wait(self.marionette).until(
         lambda m: self.apps.displayed_app.name == camera_app.name)
     self.apps.switch_to_displayed_app()
     camera_app.wait_for_capture_ready()
     self.wait_for_element_not_displayed(*self._loading_screen_locator)
     return camera_app
Пример #17
0
    def test_capture_a_photo(self):
        # https://moztrap.mozilla.org/manage/case/1325/

        self.camera = Camera(self.marionette)
        self.camera.launch()

        self.camera.take_photo()

        if not self.camera.is_filmstrip_visible:
            self.camera.tap_to_display_filmstrip()

        image_preview = self.camera.filmstrip_images[0].tap()
        self.assertTrue(image_preview.is_image_preview_visible)
    def camera_viewfinder(self):
        # Start camera
        camera_app = Camera(self.marionette)
        camera_app.launch()

        # Leave viewfinder running / displayed for 30 seconds
        time.sleep(30)

        # Sleep a bit then close the app
        self.close_app()

        # Sleep between iterations
        time.sleep(5)
Пример #19
0
    def camera_viewfinder(self):
        # Start camera
        camera_app = Camera(self.marionette)
        camera_app.launch()

        # Leave viewfinder running / displayed for 30 seconds
        time.sleep(30)

        # Sleep a bit then close the app
        self.close_app()

        # Sleep between iterations
        time.sleep(5)
Пример #20
0
    def test_camera_flash_modes(self):
        # https://moztrap.mozilla.org/manage/case/1325/
        self.camera = Camera(self.marionette)
        self.camera.launch()

        if self.camera.is_toggle_flash_button_visible:

            # Toggle flash mode to "on"
            self.camera.tap_toggle_flash_button()
            self.assertEqual(self.camera.current_flash_mode, 'on')

            # Take a photo
            self.camera.take_photo()

            # Check that Filmstrip is visible
            self.assertTrue(self.camera.is_filmstrip_visible)

            # Check that picture saved to SD card
            self.wait_for_condition(
                lambda m: len(self.data_layer.picture_files) == 1)
            self.assertEqual(len(self.data_layer.picture_files), 1)

            # Toggle flash mode to "off"
            self.camera.tap_toggle_flash_button()
            self.assertEqual(self.camera.current_flash_mode, 'off')

            # Take a photo
            self.camera.take_photo()

            # Check that Filmstrip is visible
            self.assertTrue(self.camera.is_filmstrip_visible)

            # Check that picture saved to SD card
            self.wait_for_condition(
                lambda m: len(self.data_layer.picture_files) == 2)
            self.assertEqual(len(self.data_layer.picture_files), 2)

            # Toggle flash mode to "auto"
            self.camera.tap_toggle_flash_button()
            self.assertEqual(self.camera.current_flash_mode, 'auto')

            # Take a photo
            self.camera.take_photo()

            # Check that Filmstrip is visible
            self.assertTrue(self.camera.is_filmstrip_visible)

            # Check that picture saved to SD card
            self.wait_for_condition(
                lambda m: len(self.data_layer.picture_files) == 3)
            self.assertEqual(len(self.data_layer.picture_files), 3)
class TestCameraMultipleShots(GaiaMtbfTestCase):

    def setUp(self):
        GaiaMtbfTestCase.setUp(self)

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

    def test_capture_multiple_shots(self):
        """https://moztrap.mozilla.org/manage/case/1325/"""
        self.previous_number_of_pictures = len(self.data_layer.picture_files)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Take a photo
        if self.camera.camera_mode == u'video':
            self.camera.tap_switch_source()

        self.camera.take_photo()

        self.apps.switch_to_displayed_app()
        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == self.previous_number_of_pictures + 1, 10)
        self.assertEqual(len(self.data_layer.picture_files), self.previous_number_of_pictures + 1)

        # Take a photo
        self.camera.take_photo()

        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == self.previous_number_of_pictures + 2, 10)
        self.assertEqual(len(self.data_layer.picture_files), self.previous_number_of_pictures + 2)

        # Take a photo
        self.camera.take_photo()

        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == self.previous_number_of_pictures + 3, 10)
        self.assertEqual(len(self.data_layer.picture_files), self.previous_number_of_pictures + 3)

    def tearDown(self):
        GaiaMtbfTestCase.tearDown(self)
Пример #22
0
class TestCamera(GaiaMtbfTestCase):
    def setUp(self):
        GaiaMtbfTestCase.setUp(self)

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

        self.camera = Camera(self.marionette)
        self.camera.launch()

    def test_capture_a_video(self):
        """https://moztrap.mozilla.org/manage/case/2477/"""
        self.previous_number_of_videos = len(self.data_layer.video_files)

        # Switch to video mode
        self.camera.wait_for_capture_ready()
        if self.camera.camera_mode == u'picture':
            self.camera.tap_switch_source()

        # Record 10 seconds of video
        self.camera.record_video(10)

        # Check that video saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.video_files) == self.
            previous_number_of_videos + 1, 15)
        self.assertEqual(len(self.data_layer.video_files),
                         self.previous_number_of_videos + 1)

    def tearDown(self):
        GaiaMtbfTestCase.tearDown(self)
class TestCamera(GaiaMtbfTestCase):

    def setUp(self):
        GaiaMtbfTestCase.setUp(self)

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

        self.camera = Camera(self.marionette)
        self.camera.launch()

    def test_capture_a_video(self):
        """https://moztrap.mozilla.org/manage/case/2477/"""
        self.previous_number_of_videos = len(self.data_layer.video_files)

        # Switch to video mode
        self.camera.wait_for_capture_ready()
        if self.camera.camera_mode == u'picture':
            self.camera.tap_switch_source()

        # Record 10 seconds of video
        self.camera.record_video(10)

        # Check that video saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.video_files) == self.previous_number_of_videos + 1, 15)
        self.assertEqual(len(self.data_layer.video_files), self.previous_number_of_videos + 1)

    def tearDown(self):
        GaiaMtbfTestCase.tearDown(self)
Пример #24
0
class TestCamera(GaiaTestCase):
    def setUp(self):
        GaiaTestCase.setUp(self)

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

    def test_capture_a_video(self):
        """https://moztrap.mozilla.org/manage/case/2477/"""

        # Check that 0 video files are present before we start the test
        self.assertEqual(len(self.data_layer.video_files), 0)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 3 seconds of video
        self.camera.record_video(3)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)
        self.camera.wait_for_filmstrip_not_visible()

        # Check that video saved to SD card
        self.assertIn("VID_0001.3gp", self.data_layer.video_files[0])
Пример #25
0
 def tap_camera(self):
     actions_menu = Wait(self.marionette).until(
         expected.element_present(*self._actions_menu_locator))
     Wait(self.marionette).until(
         expected.element_displayed(actions_menu))
     self.marionette.find_element(*self._camera_button_locator).tap()
     Wait(self.marionette).until(
         expected.element_not_displayed(actions_menu))
     from gaiatest.apps.camera.app import Camera
     camera = Camera(self.marionette)
     Wait(self.marionette).until(lambda m: self.apps.displayed_app.name == camera.name)
     self.apps.switch_to_displayed_app()
     camera.wait_for_capture_ready()
     return camera
Пример #26
0
class TestCamera(GaiaTestCase):

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

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

    def test_capture_a_video(self):
        """https://moztrap.mozilla.org/manage/case/2477/"""

        # Check that 0 video files are present before we start the test
        self.assertEqual(len(self.data_layer.video_files), 0)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 3 seconds of video
        self.camera.record_video(3)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)
        self.camera.wait_for_filmstrip_not_visible()

        # Check that video saved to SD card
        self.assertIn("VID_0001.3gp", self.data_layer.video_files[0])
Пример #27
0
    def test_capture_multiple_shots(self):
        """https://moztrap.mozilla.org/manage/case/1325/"""
        self.previous_number_of_pictures = len(self.data_layer.picture_files)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Take a photo
        if self.camera.camera_mode == u'video':
            self.camera.tap_switch_source()

        self.camera.take_photo()

        self.apps.switch_to_displayed_app()
        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.picture_files) == self.
            previous_number_of_pictures + 1, 10)
        self.assertEqual(len(self.data_layer.picture_files),
                         self.previous_number_of_pictures + 1)

        # Take a photo
        self.camera.take_photo()

        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.picture_files) == self.
            previous_number_of_pictures + 2, 10)
        self.assertEqual(len(self.data_layer.picture_files),
                         self.previous_number_of_pictures + 2)

        # Take a photo
        self.camera.take_photo()

        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.picture_files) == self.
            previous_number_of_pictures + 3, 10)
        self.assertEqual(len(self.data_layer.picture_files),
                         self.previous_number_of_pictures + 3)
Пример #28
0
    def camera_photo(self):
        # Start camera
        camera_app = Camera(self.marionette)
        camera_app.launch()
        time.sleep(5)

        # Take a photo
        camera_app.take_photo()

        # Sleep a bit then close the app
        time.sleep(5)
        self.close_app()

        # Sleep between iterations
        time.sleep(5)
    def test_capture_multiple_shots(self):
        # https://moztrap.mozilla.org/manage/case/1325/
        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Take a photo
        self.camera.take_photo()

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == 1)
        self.assertEqual(len(self.data_layer.picture_files), 1)

        # Take a photo
        self.camera.take_photo()

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == 2)
        self.assertEqual(len(self.data_layer.picture_files), 2)

        # Take a photo
        self.camera.take_photo()

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == 3)
        self.assertEqual(len(self.data_layer.picture_files), 3)
    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()
Пример #31
0
    def test_capture_a_video(self):
        # https://moztrap.mozilla.org/manage/case/2477/

        self.camera = Camera(self.marionette)
        self.camera.launch()

        self.camera.tap_switch_source()

        self.camera.tap_capture()
        self.camera.wait_for_video_capturing()

        # Wait for 3 seconds of recording
        self.wait_for_condition(lambda m: self.camera.video_timer >= time.strptime('00:03', '%M:%S'))

        # Stop recording
        self.camera.tap_capture()
        self.camera.wait_for_video_timer_not_visible()

        # Wait for image to be added in to filmstrip
        self.camera.wait_for_filmstrip_visible()

        # Find the new film thumbnail in the film strip
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that video saved to sdcard
        videos_after_test = self.data_layer.video_files
        self.assertEqual(len(videos_after_test), 1)
Пример #32
0
    def test_capture_a_photo(self):
        """https://moztrap.mozilla.org/manage/case/1325/"""
        self.previous_number_of_pictures = len(self.data_layer.picture_files)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Take a photo
        self.camera.take_photo()

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == self.previous_number_of_pictures + 1, 10)
        self.assertEqual(len(self.data_layer.picture_files), self.previous_number_of_pictures + 1)
Пример #33
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")
    def test_capture_multiple_shots(self):
        # https://moztrap.mozilla.org/manage/case/1325/
        self.camera = Camera(self.marionette)
        self.camera.launch()

        self.camera.take_photo()

        self.camera.tap_to_display_filmstrip()

        image_preview = self.camera.filmstrip_images[0].tap()
        self.assertTrue(image_preview.is_image_preview_visible)

        self.camera = image_preview.tap_camera()

        self.camera.take_photo()

        self.camera.tap_to_display_filmstrip()

        image_preview = self.camera.filmstrip_images[1].tap()
        self.assertTrue(image_preview.is_image_preview_visible)

        self.camera = image_preview.tap_camera()

        self.camera.take_photo()

        self.camera.tap_to_display_filmstrip()

        image_preview = self.camera.filmstrip_images[2].tap()
        self.assertTrue(image_preview.is_image_preview_visible)

        self.camera = image_preview.tap_camera()
Пример #35
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()
Пример #36
0
    def test_camera_geolocation_prompt(self):

        camera = Camera(self.marionette)
        camera.launch()

        permission = PermissionDialog(self.marionette)
        self.marionette.switch_to_default_content()
        permission.wait_for_permission_dialog_displayed()

        self.assertEqual(permission.permission_dialog_message,
                         '%s would like to know your location.' % camera.name)

        permission.tap_to_confirm_permission()

        current_permission = self.apps.get_permission('Camera', 'geolocation')
        self.assertEqual(current_permission, 'allow')
Пример #37
0
    def test_capture_a_video(self):
        # https://moztrap.mozilla.org/manage/case/2477/
        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 3 seconds of video
        self.camera.record_video(3)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that video saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.video_files) == 1)
        self.assertEqual(len(self.data_layer.video_files), 1)
    def setUp(self):
        GaiaMtbfTestCase.setUp(self)

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

        self.camera = Camera(self.marionette)
        self.camera.launch()
Пример #39
0
 def unlock_to_camera(self):
     Wait(self.marionette).until(
         expected.element_displayed(
             Wait(self.marionette).until(
                 expected.element_present(
                     *self._lockscreen_handle_locator))))
     self._slide_to_unlock('camera')
     return Camera(self.marionette)
Пример #40
0
    def test_capture_a_video(self):
        """
        https://moztrap.mozilla.org/manage/case/2477/
        """
        self.previous_number_of_videos = len(self.data_layer.video_files)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 3 seconds of video
        self.camera.record_video(3)

        # Check that video saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.video_files) == self.previous_number_of_videos + 1, 15)
        self.assertEqual(len(self.data_layer.video_files), self.previous_number_of_videos + 1)
        self.assertTrue(self.data_layer.video_files[0]["size"] > 1000)
    def test_capture_and_delete_video(self):
        """
        https://moztrap.mozilla.org/manage/case/3324/
        """
        self.previous_number_of_videos = len(self.data_layer.video_files)

        # launch camera app
        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 10 seconds of video
        self.camera.record_video(10)

        # Check that video saved to SD card
        self.assertEqual(len(self.data_layer.video_files),
                         self.previous_number_of_videos + 1)

        # Tap preview icon to see the video that's just taken
        self.camera.tap_thumbnail()
        self.preview = ImagePreview(self.marionette)
        Wait(self.marionette).until(
            lambda m: self.preview.is_video_play_button_visible is True)

        # Play video, then pause it
        self.preview.tap_video_player_play_button()
        time.sleep(5)
        self.preview.tap_video_player_pause_button()

        # Tape the options icon, and delete the file
        self.preview.delete_file()

        # Check the user is back in camera preview mode, and there is no preview icon anymore
        Wait(self.marionette).until(
            lambda m: self.camera.is_thumbnail_visible is False)

        # Verify the video is deleted now
        self.assertEqual(len(self.data_layer.video_files),
                         self.previous_number_of_videos)
Пример #42
0
    def test_capture_a_video(self):
        """https://moztrap.mozilla.org/manage/case/2477/"""

        # Check that 0 video files are present before we start the test
        self.assertEqual(len(self.data_layer.video_files), 0)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 3 seconds of video
        self.camera.record_video(3)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)
        self.camera.wait_for_filmstrip_not_visible()

        # Check that video saved to SD card
        self.assertIn("VID_0001.3gp", self.data_layer.video_files[0])
Пример #43
0
class TestCamera(GaiaTestCase):
    def setUp(self):
        GaiaTestCase.setUp(self)

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

    def test_capture_a_video(self):
        """https://moztrap.mozilla.org/manage/case/2477/"""

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 3 seconds of video
        self.camera.record_video(3)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that video saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.video_files) == 1)
        self.assertEqual(len(self.data_layer.video_files), 1)
Пример #44
0
class TestCamera(GaiaTestCase):

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

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

    def test_capture_a_video(self):
        # https://moztrap.mozilla.org/manage/case/2477/
        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 3 seconds of video
        self.camera.record_video(3)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that video saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.video_files) == 1)
        self.assertEqual(len(self.data_layer.video_files), 1)
class TestPreviewDelete(GaiaTestCase):
    def setUp(self):
        GaiaTestCase.setUp(self)

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

    def test_capture_and_delete_video(self):
        """
        https://moztrap.mozilla.org/manage/case/3324/
        """
        self.previous_number_of_videos = len(self.data_layer.video_files)

        # launch camera app
        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 10 seconds of video
        self.camera.record_video(10)

        # Check that video saved to SD card
        self.assertEqual(
            len(self.data_layer.video_files),
            self.previous_number_of_videos + 1)

        # Tap preview icon to see the video that's just taken
        self.camera.tap_thumbnail()
        self.preview = ImagePreview(self.marionette)
        Wait(self.marionette).until(
            lambda m: self.preview.is_video_play_button_visible is True)

        # Play video, then pause it
        self.preview.tap_video_player_play_button()
        time.sleep(5)
        self.preview.tap_video_player_pause_button()

        # Tape the options icon, and delete the file
        self.preview.delete_file()

        # Check the user is back in camera preview mode, and there is no preview icon anymore
        Wait(self.marionette).until(
            lambda m: self.camera.is_thumbnail_visible is False)

        # Verify the video is deleted now
        self.assertEqual(
            len(self.data_layer.video_files), self.previous_number_of_videos)
Пример #46
0
class TestCamera(GaiaTestCase):

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

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

    def test_capture_a_photo(self):
        # https://moztrap.mozilla.org/manage/case/1325/
        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Take a photo
        self.camera.take_photo()

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == 1)
        self.assertEqual(len(self.data_layer.picture_files), 1)
Пример #47
0
class TestCamera(GaiaTestCase):
    def setUp(self):
        GaiaTestCase.setUp(self)

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

    def test_capture_a_photo(self):
        # https://moztrap.mozilla.org/manage/case/1325/
        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Take a photo
        self.camera.take_photo()

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(
            lambda m: len(self.data_layer.picture_files) == 1)
        self.assertEqual(len(self.data_layer.picture_files), 1)
Пример #48
0
    def test_camera_flash_modes(self):
        # https://moztrap.mozilla.org/manage/case/1325/
        self.previous_number_of_pictures = len(self.data_layer.picture_files)
        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Toggle flash mode to "on"
        self.camera.tap_toggle_flash_button()
        self.assertEqual(self.camera.current_flash_mode, 'on')

        # Take a photo
        self.camera.take_photo()

        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == self.previous_number_of_pictures + 1, 10)
        self.assertEqual(len(self.data_layer.picture_files), self.previous_number_of_pictures + 1)

        # Toggle flash mode to "off"
        self.camera.tap_toggle_flash_button()
        self.assertEqual(self.camera.current_flash_mode, 'off')

        first_image_src = self.camera.current_image_src
        # Take a photo
        self.camera.take_photo()
        self.camera.wait_for_picture_to_change(first_image_src)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == self.previous_number_of_pictures + 2, 10)
        self.assertEqual(len(self.data_layer.picture_files), self.previous_number_of_pictures + 2)

        # Toggle flash mode to "auto"
        self.camera.tap_toggle_flash_button()
        self.assertEqual(self.camera.current_flash_mode, 'auto')

        second_image_src = self.camera.current_image_src
        # Take a photo
        self.camera.take_photo()
        self.camera.wait_for_picture_to_change(second_image_src)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == self.previous_number_of_pictures + 3, 10)
        self.assertEqual(len(self.data_layer.picture_files), self.previous_number_of_pictures + 3)
Пример #49
0
    def test_camera_flash_modes(self):
        # https://moztrap.mozilla.org/manage/case/1325/
        self.camera = Camera(self.marionette)
        self.camera.launch()

        if self.camera.is_toggle_flash_button_visible:

            # Toggle flash mode to "on"
            self.camera.tap_toggle_flash_button()
            self.assertEqual(self.camera.current_flash_mode, "on")

            # Take a photo
            self.camera.take_photo()

            # Check that Filmstrip is visible
            self.assertTrue(self.camera.is_filmstrip_visible)

            # Check that picture saved to SD card
            self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == 1)
            self.assertEqual(len(self.data_layer.picture_files), 1)

            # Toggle flash mode to "off"
            self.camera.tap_toggle_flash_button()
            self.assertEqual(self.camera.current_flash_mode, "off")

            # Take a photo
            self.camera.take_photo()

            # Check that Filmstrip is visible
            self.assertTrue(self.camera.is_filmstrip_visible)

            # Check that picture saved to SD card
            self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == 2)
            self.assertEqual(len(self.data_layer.picture_files), 2)

            # Toggle flash mode to "auto"
            self.camera.tap_toggle_flash_button()
            self.assertEqual(self.camera.current_flash_mode, "auto")

            # Take a photo
            self.camera.take_photo()

            # Check that Filmstrip is visible
            self.assertTrue(self.camera.is_filmstrip_visible)

            # Check that picture saved to SD card
            self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == 3)
            self.assertEqual(len(self.data_layer.picture_files), 3)
Пример #50
0
    def test_capture_a_video(self):
        """https://moztrap.mozilla.org/manage/case/2477/"""
        self.previous_number_of_videos = len(self.data_layer.video_files)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 3 seconds of video
        self.camera.record_video(3)

        # Check that video saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.video_files) == self.previous_number_of_videos + 1, 15)
        self.assertEqual(len(self.data_layer.video_files), self.previous_number_of_videos + 1)
Пример #51
0
    def camera_video(self):
        # Start camera
        camera_app = Camera(self.marionette)
        camera_app.launch()

        # Swtich to video
        time.sleep(5)
        camera_app.tap_switch_source()

        # Record a video for the specified duration
        camera_app.record_video(self.duration)

        # Sleep a bit and close the app
        time.sleep(5)
        self.close_app()

        # Wait between iterations
        time.sleep(5)
Пример #52
0
    def camera_video(self):
        # Start camera
        camera_app = Camera(self.marionette)
        camera_app.launch()

        # Swtich to video
        time.sleep(5)
        camera_app.tap_switch_source()

        # Record a video for the specified duration
        camera_app.record_video(self.duration)

        # Sleep a bit and close the app
        time.sleep(5)
        self.close_app()

        # Wait between iterations
        time.sleep(5)
Пример #53
0
    def camera_photo(self):
        # Start camera
        camera_app = Camera(self.marionette)
        camera_app.launch()
        time.sleep(5)

        # Take a photo
        camera_app.take_photo()

        # Sleep a bit then close the app
        time.sleep(5)
        self.close_app()

        # Sleep between iterations
        time.sleep(5)
Пример #54
0
    def test_capture_a_video(self):
        """https://moztrap.mozilla.org/manage/case/2477/"""

        # Check that 0 video files are present before we start the test
        self.assertEqual(len(self.data_layer.video_files), 0)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Switch to video mode
        self.camera.tap_switch_source()

        # Record 3 seconds of video
        self.camera.record_video(3)

        # Check that Filmstrip is visible
        self.assertTrue(self.camera.is_filmstrip_visible)
        self.camera.wait_for_filmstrip_not_visible()

        # Check that video saved to SD card
        self.assertIn("VID_0001.3gp", self.data_layer.video_files[0])
    def test_capture_multiple_shots(self):
        """https://moztrap.mozilla.org/manage/case/1325/"""
        self.previous_number_of_pictures = len(self.data_layer.picture_files)

        self.camera = Camera(self.marionette)
        self.camera.launch()

        # Take a photo
        if self.camera.camera_mode == u'video':
            self.camera.tap_switch_source()

        self.camera.take_photo()

        self.apps.switch_to_displayed_app()
        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == self.previous_number_of_pictures + 1, 10)
        self.assertEqual(len(self.data_layer.picture_files), self.previous_number_of_pictures + 1)

        # Take a photo
        self.camera.take_photo()

        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == self.previous_number_of_pictures + 2, 10)
        self.assertEqual(len(self.data_layer.picture_files), self.previous_number_of_pictures + 2)

        # Take a photo
        self.camera.take_photo()

        # Check that thumbnail is visible
        self.assertTrue(self.camera.is_thumbnail_visible)

        # Check that picture saved to SD card
        self.wait_for_condition(lambda m: len(self.data_layer.picture_files) == self.previous_number_of_pictures + 3, 10)
        self.assertEqual(len(self.data_layer.picture_files), self.previous_number_of_pictures + 3)
Пример #56
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()
        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)

        print ""
        print "Running Camera Picture Test"
        self.runPowerTest("camera_picture", "Camera", "camera", PICTURE_INTERVAL_TIME, self.take_picture)
Пример #57
0
class TestCamera(GaiaTestCase):
    def setUp(self):
        GaiaTestCase.setUp(self)

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

    def test_capture_a_photo(self):
        # https://moztrap.mozilla.org/manage/case/1325/

        self.camera = Camera(self.marionette)
        self.camera.launch()

        self.camera.take_photo()

        if not self.camera.is_filmstrip_visible:
            self.camera.tap_to_display_filmstrip()

        image_preview = self.camera.filmstrip_images[0].tap()
        self.assertTrue(image_preview.is_image_preview_visible)