Source code for gaiatest.apps.videoplayer.regions.fullscreen_video

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

import time

from marionette_driver import By, Wait, expected
from marionette_driver.marionette import Actions

from gaiatest.apps.base import Base


[docs]class FullscreenVideo(Base): _video_controls_header = (By.ID, 'player-header') _video_controls_video_bar = (By.ID, 'videoBar') _video_controls_video_control_bar = (By.ID, 'videoControlBar') _video_title_locator = (By.ID, 'video-title') _elapsed_text_locator = (By.ID, 'elapsed-text') _video_player_locator = (By.ID, 'player') _video_player_frame_locator = (By.ID, 'player-view') _video_seek_head_locator = (By.ID, 'playHead') _video_rewind_button_locator = (By.ID, 'seek-backward') _video_play_button_locator = (By.ID, 'play') _video_forward_button_locator = (By.ID, 'seek-forward')
[docs] def wait_for_player_frame_displayed(self): Wait(self.marionette).until(expected.element_displayed(*self._video_player_frame_locator))
[docs] def show_controls(self): self.marionette.find_element(*self._video_player_locator).tap() Wait(self.marionette).until(expected.element_displayed(*self._video_controls_header)) Wait(self.marionette).until(expected.element_displayed(*self._video_controls_video_bar)) Wait(self.marionette).until(expected.element_displayed(*self._video_controls_video_control_bar))
# move the slider
[docs] def move_seek_slider(self, offset): scale = self.marionette.find_element(*self._video_seek_head_locator) finger = Actions(self.marionette) finger.press(scale) finger.move_by_offset(offset, 0) finger.release() finger.perform()
[docs] def tap_rewind(self): self.marionette.find_element(*self._video_rewind_button_locator).tap()
[docs] def tap_forward(self): self.marionette.find_element(*self._video_forward_button_locator).tap()
[docs] def tap_play(self): self.marionette.find_element(*self._video_play_button_locator).tap()
@property def elapsed_time(self): # Convert it to a real time so we can accurately assert text = self.marionette.find_element(*self._elapsed_text_locator).text return time.strptime(text, '%M:%S') @property def name(self): return self.marionette.find_element(*self._video_title_locator).text @property def is_video_playing(self): return self.marionette.find_element(*self._video_player_locator).get_attribute('paused') == 'false'