def tap_send(self): self.marionette.find_element(*self._send_locator).tap() from gaiatest.apps.email.app import Email email = Email(self.marionette) email.wait_for_message_list() return email
def deleteEmailAccount(self, index): email = Email(self.marionette) email.launch() self.apps.kill(email.app) email.launch() email.wait_for_message_list() time.sleep(1) toolbar = email.header.tap_menu() m = self.marionette m.find_element(By.CSS_SELECTOR, '#cardContainer a[class="fld-nav-toolbar bottom-toolbar"]').tap() settings = Settings(self.marionette) account_settings = settings.email_accounts[index].tap() m.find_element(By.CSS_SELECTOR, 'button[class="tng-account-delete danger"]').tap() m.find_element(By.CSS_SELECTOR, 'button[id="account-delete-ok"]').tap()
class TestSetupAndSendIMAPEmail(GaiaImageCompareTestCase): def setUp(self): if not GaiaTestEnvironment(self.testvars).email.get('imap'): raise SkipTest( 'IMAP account details not present in test variables.') if not GaiaTestEnvironment(self.testvars).email.get('smtp'): raise SkipTest( 'SMTP account details not present in test variables.') GaiaImageCompareTestCase.setUp(self) self.connect_to_local_area_network() self.email = Email(self.marionette) self.email.launch() def test_setup_and_send_imap_email(self): """Verify the Appearance of email app is proper. Refer to: https://moztrap.mozilla.org/manage/case/6113/ https://moztrap.mozilla.org/manage/case/6114/ """ # setup IMAP account self.setup_IMAP_email(self.environment.email['imap'], self.environment.email['smtp']) # take picture of the menu Wait( self.marionette).until(lambda m: self.email.header.is_menu_visible) self.email.wait_for_emails_to_sync() _subject = 'Testing Images' _body = 'The quick brown fox jumps over the lazy dog ~!@#$#%^&*)(_+ <>?,./:";[]{}\\' Wait(self.marionette).until( lambda m: self.email.header.is_compose_visible) new_email = self.email.header.tap_compose() self.take_screenshot() new_email.type_to(self.environment.email['imap']['email']) new_email.type_subject(_subject) new_email.type_body(_body) self.take_screenshot() # Commented out due to Bug 1131095 # Exit to homescreen # self.device.touch_home_button() # self.email.launch() self.email = new_email.tap_send() # wait for the email to be sent before we tap refresh self.email.wait_for_email(_subject) read_email = self.email.tap_email_subject(_subject) Wait(self.marionette, timeout=20).until(lambda m: _subject == read_email.subject) read_email.tap_move_button() self.take_screenshot() read_email.cancel_move() read_email.tap_reply_button() self.take_screenshot() read_email.cancel_reply() # delete the message to avoid using stale message in future runs read_email.tap_delete_button() self.take_screenshot() read_email.approve_delete() # moved from SetupEmail to embed screenshot commands def setup_IMAP_email(self, imap, smtp): basic_setup = SetupEmail(self.marionette) basic_setup.type_name('IMAP account') basic_setup.type_email(imap['email']) setup = self.email.tap_manual_setup() self.take_screenshot() setup.select_account_type('IMAP+SMTP') setup.type_imap_hostname(imap['hostname']) setup.type_imap_name(imap['username']) setup.type_imap_password(imap['password']) setup.type_imap_port(imap['port']) setup.type_smtp_hostname(smtp['hostname']) setup.type_smtp_name(smtp['username']) setup.type_smtp_password(smtp['password']) setup.type_smtp_port(smtp['port']) self.take_screenshot() setup.tap_next() self.take_screenshot() setup.check_for_emails_interval('20000') setup.tap_account_prefs_next() self.take_screenshot() setup.wait_for_setup_complete() setup.tap_continue() self.email.wait_for_message_list()
class TestSetupAndSendIMAPEmail(GaiaImageCompareTestCase): def setUp(self): if not GaiaTestEnvironment(self.testvars).email.get('imap'): raise SkipTest('IMAP account details not present in test variables.') if not GaiaTestEnvironment(self.testvars).email.get('smtp'): raise SkipTest('SMTP account details not present in test variables.') GaiaImageCompareTestCase.setUp(self) self.connect_to_local_area_network() self.email = Email(self.marionette) self.email.launch() def test_setup_and_send_imap_email(self): """Verify the Appearance of email app is proper. Refer to: https://moztrap.mozilla.org/manage/case/6113/ https://moztrap.mozilla.org/manage/case/6114/ """ # setup IMAP account self.setup_IMAP_email(self.environment.email['imap'], self.environment.email['smtp']) # take picture of the menu Wait(self.marionette).until(lambda m: self.email.header.is_menu_visible) self.email.wait_for_emails_to_sync() _subject = 'Testing Images' _body = 'The quick brown fox jumps over the lazy dog ~!@#$#%^&*)(_+ <>?,./:";[]{}\\' Wait(self.marionette).until(lambda m: self.email.header.is_compose_visible) new_email = self.email.header.tap_compose() self.take_screenshot() new_email.type_to(self.environment.email['imap']['email']) new_email.type_subject(_subject) new_email.type_body(_body) self.take_screenshot() # Commented out due to Bug 1131095 # Exit to homescreen # self.device.touch_home_button() # self.email.launch() self.email = new_email.tap_send() # wait for the email to be sent before we tap refresh self.email.wait_for_email(_subject) read_email = self.email.tap_email_subject(_subject) Wait(self.marionette, timeout = 20).until( lambda m: _subject == read_email.subject) read_email.tap_move_button() self.take_screenshot() read_email.cancel_move() read_email.tap_reply_button() self.take_screenshot() read_email.cancel_reply() # delete the message to avoid using stale message in future runs read_email.tap_delete_button() self.take_screenshot() read_email.approve_delete() # moved from SetupEmail to embed screenshot commands def setup_IMAP_email(self, imap, smtp): basic_setup = SetupEmail(self.marionette) basic_setup.type_name('IMAP account') basic_setup.type_email(imap['email']) setup = self.email.tap_manual_setup() self.take_screenshot() setup.select_account_type('IMAP+SMTP') setup.type_imap_hostname(imap['hostname']) setup.type_imap_name(imap['username']) setup.type_imap_password(imap['password']) setup.type_imap_port(imap['port']) setup.type_smtp_hostname(smtp['hostname']) setup.type_smtp_name(smtp['username']) setup.type_smtp_password(smtp['password']) setup.type_smtp_port(smtp['port']) self.take_screenshot() setup.tap_next() self.take_screenshot() setup.check_for_emails_interval('20000') setup.tap_account_prefs_next() self.take_screenshot() setup.wait_for_setup_complete() setup.tap_continue() self.email.wait_for_message_list()
def tap_send(self): self.marionette.find_element(*self._send_locator).tap() from gaiatest.apps.email.app import Email email = Email(self.marionette) email.wait_for_message_list() return email
def setupEmailAccount(self): # setup IMAP account email = Email(self.marionette) email.launch() m = self.marionette # setup email account imap = self.testvars['email']['IMAP'] basic_setup = SetupEmail(self.marionette) name_field = m.find_element(By.CSS_SELECTOR, 'section.card-setup-account-info input.sup-info-name') name_field.send_keys(imap['name']) time.sleep(1) email_field = m.find_element(By.CSS_SELECTOR, 'section.card-setup-account-info input.sup-info-email') email_field.tap() email.keyboard.send(imap['email']) # setup mail server information setup = email.tap_manual_setup() setup.type_imap_hostname(imap['imap_hostname']) setup.type_imap_name(imap['imap_name']) setup.type_imap_port(imap['imap_port']) _imap_password_locator = m.find_element(By.CSS_SELECTOR, 'section.card-setup-manual-config .sup-manual-composite-password') _imap_password_locator.clear() _imap_password_locator.send_keys(imap['password']) setup.type_smtp_hostname(imap['smtp_hostname']) setup.type_smtp_name(imap['smtp_name']) setup.type_smtp_port(imap['smtp_port']) _smtp_hostname_locator = m.find_element(By.CSS_SELECTOR, 'section.card-setup-manual-config .sup-manual-smtp-password') _smtp_hostname_locator.clear() _smtp_hostname_locator.send_keys(imap['password']) setup.tap_next() # setup remind frequency manual = m.find_element("css selector",'li[class="syncinterval-setting select-item"] > span[class="button icon icon-dialog"]') manual.tap() self.marionette.switch_to_frame() options = self.marionette.find_elements(By.CSS_SELECTOR, 'ol[class="value-selector-options-container"] > li') for li in options: if li.text == 'Every 5 minutes': li.tap() break for item in m.find_elements(By.CSS_SELECTOR, 'button.value-option-confirm'): if item.is_displayed() == True: item.tap() break self.apps.switch_to_displayed_app() setup.tap_account_prefs_next() setup.wait_for_setup_complete() setup.tap_continue() email.wait_for_message_list() # wait for sync to complete email.wait_for_emails_to_sync()