Source code for gaiatest.apps.system.regions.status_bar

# 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 marionette_driver.errors import StaleElementException
from gaiatest.apps.base import PageRegion


[docs]class StatusBar(PageRegion): _time_locator = (By.ID, 'statusbar-time') _battery_locator = (By.ID, 'statusbar-battery') _mobile_connection_locator = (By.ID, 'statusbar-mobile-connection') _data_connection = (By.CSS_SELECTOR, '#statusbar-mobile-connection .statusbar-data') _geolocation_locator = (By.ID, 'statusbar-geolocation') _airplane_mode_locator = (By.ID, 'statusbar-airplane-mode') @property def height(self): if self.is_displayed: return self.root_element.rect['height'] else: return 0 @property def is_displayed(self): return self.root_element.is_displayed() and self.root_element.rect['y'] == 0 @property def is_status_bar_maximized_wrapper_a11y_hidden(self): return self.accessibility.is_hidden(self.marionette.find_element( *self._status_bar_maximized_locator)) @property def is_status_bar_minimized_wrapper_a11y_hidden(self): return self.accessibility.is_hidden(self.marionette.find_element( *self._status_bar_minimized_locator)) @property def time(self): return self.root_element.find_element(*self._time_locator).text @property def is_time_displayed(self): battery_icon = self.root_element.find_element(*self._time_locator) return battery_icon.is_displayed() @property def is_battery_displayed(self): battery_icon = self.root_element.find_element(*self._battery_locator) return battery_icon.is_displayed() @property def is_mobile_connection_displayed(self): element = self.root_element.find_element(*self._mobile_connection_locator) return element.is_displayed()
[docs] def wait_for_data_to_be_connected(self): Wait(self.marionette).until(lambda m: self.is_data_connected)
@property def is_data_connected(self): element = self.root_element.find_element(*self._data_connection) return element.get_attribute('hidden') != 'true' @property def is_geolocation_displayed(self): element = self.root_element.find_element(*self._geolocation_locator) return element.is_displayed()
[docs] def wait_for_geolocation_icon_displayed(self): Wait(self.marionette).until(lambda m: self.is_geolocation_displayed)
@property def is_airplane_mode_displayed(self): element = self.root_element.find_element(*self._airplane_mode_locator) return element.is_displayed()
[docs] def wait_for_airplane_mode_icon_displayed(self): Wait(self.marionette).until(lambda m: self.is_airplane_mode_displayed)
[docs] def a11y_wheel_status_bar_time(self): self.accessibility.wheel(self.root_element.find_element(*self._time_locator), 'down')