VulpesOS/gaia/tests/python/gaia-ui-tests/gaiatest/apps/videoplayer/app.py
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

54 lines
1.9 KiB
Python
Executable file

# 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/.
from marionette_driver import By, Wait
from gaiatest.apps.base import Base
class VideoPlayer(Base):
name = 'Video'
manifest_url = '{}video{}/manifest.webapp'.format(Base.DEFAULT_PROTOCOL,Base.DEFAULT_APP_HOSTNAME)
_thumbnails_locator = (By.ID, 'thumbnails')
# Video list/summary view
_video_items_locator = (By.CSS_SELECTOR, 'li.thumbnail')
_video_name_locator = (By.CSS_SELECTOR, 'div.details')
_empty_video_title_locator = (By.ID, 'overlay-title')
_empty_video_text_locator = (By.ID, 'overlay-text')
def launch(self):
Base.launch(self)
def wait_for_thumbnails_to_load(self, files_number, message=None):
timeout = (self.marionette.timeout / 1000) + (files_number * 5)
Wait(self.marionette, timeout).until(lambda m: len(m.find_elements(
*self._video_items_locator)) == files_number, message=message)
@property
def total_video_count(self):
return len(self.marionette.find_elements(*self._video_items_locator))
@property
def first_video_name(self):
return self.marionette.find_element(*self._video_name_locator).get_attribute('data-title')
def tap_first_video_item(self):
first_video_item = self.marionette.find_elements(*self._video_items_locator)[0]
first_video_item.tap()
from gaiatest.apps.videoplayer.regions.fullscreen_video import FullscreenVideo
fullscreen = FullscreenVideo(self.marionette)
fullscreen.wait_for_player_frame_displayed()
return fullscreen
@property
def empty_video_title(self):
return self.marionette.find_element(*self._empty_video_title_locator).text
@property
def empty_video_text(self):
return self.marionette.find_element(*self._empty_video_text_locator).text