Source code for gaiatest.apps.contacts.regions.contact_import_picker

# 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 expected, By, Wait
from gaiatest.apps.base import Base


[docs]class ContactImportPicker(Base): _contact_import_picker_frame_locator = (By.ID, 'iframe_extensions') _import_button_locator = (By.ID, 'import-action') _friends_list_locator = (By.ID, 'friends-list') def __init__(self, marionette): Base.__init__(self, marionette) Wait(self.marionette).until( expected.element_displayed(*self._contact_import_picker_frame_locator)) select_contacts = self.marionette.find_element(*self._contact_import_picker_frame_locator) self.marionette.switch_to_frame(select_contacts)
[docs] def tap_import_button(self, wait_for_import = True): self.marionette.execute_script('window.wrappedJSObject.importer.ui.importAll();') # TODO uncomment this when Bug 932804 is resolved # self.marionette.find_element(*self._import_button_locator).tap() self.apps.switch_to_displayed_app() if wait_for_import: Wait(self.marionette, timeout=60).until( expected.element_not_displayed(*self._contact_import_picker_frame_locator)) from gaiatest.apps.contacts.regions.settings_form import SettingsForm return SettingsForm(self.marionette)
[docs] def tap_first_friend(self): element = self.marionette.find_element(*self._friends_list_locator) # TODO replace this with proper tap when Bug 932804 is resolved self.marionette.execute_script(""" window.wrappedJSObject.document.getElementById("friends-list") .getElementsByTagName("a")[1].click() """) Wait(self.marionette).until(expected.element_not_displayed(element)) self.apps.switch_to_displayed_app()
[docs] def tap_select_all(self): # TODO replace this with proper tap when Bug 932804 is resolved self.marionette.execute_script('window.wrappedJSObject.importer.ui.selectAll();') el = self.marionette.find_element(*self._import_button_locator) Wait(self.marionette).until(expected.element_enabled(el))