class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.connect_to_network() # Update loop self.loop.update_and_publish() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.test_contact = MockContact() self.fxa_user = self.UTILS.general.get_config_variable( "fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable( "fxa_pass", "common") self.connect_to_network() self.UTILS.general.insertContact(self.test_contact) # Clean start if not self.loop.is_installed(): self.loop.install() else: self.loop.launch() # If already logged in, logout if not self.loop.wizard_or_login(): self.loop.open_settings() self.loop.logout() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[0], DOM.Contacts.view_all_contact_specific_contact[1].format( self.test_contact["givenName"])) entry = self.UTILS.element.getElement(elem, "Contact in address book") entry.tap() self.UTILS.iframe.switch_to_active_frame() elem = (DOM.Loop.call_screen_contact_details[0], DOM.Loop.call_screen_contact_details[1].format( self.test_contact["name"])) self.UTILS.element.waitForElements( elem, "Call to contact: {}".format(self.test_contact["name"]))
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.scenario = "scenarios/urls/single/revoked/idb" self.aux_files_dir = self.UTILS.general.get_config_variable("aux_files", "loop") self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.connect_to_network() # Insert our test contacts number_of_contacts = 3 contact_given = "Test" contact_family = map(str, range(1, number_of_contacts + 1)) contact_name = ["{} {}".format(contact_given, contact_family[i]) for i in range(number_of_contacts)] contact_numbers = ["666666666666", "777777777777", "888888888888"] test_contacts = [MockContact(name=contact_name[i], givenName=contact_given, familyName=contact_family[i], tel={'type': 'Mobile', 'value': contact_numbers[i]}) for i in range(number_of_contacts)] map(self.UTILS.general.insertContact, test_contacts) self.loop.initial_test_checks() # Make sure we're not logged in FxA self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.loop.launch() # This needs to be done at this point, bcs if the app is freshly installed the persistence # directories are not in its place until the app is launched for the first time self.loop.update_db("{}/{}".format(self.aux_files_dir, self.scenario)) result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.switch_to_urls() self.loop.open_settings() self.loop.delete_just_revoked(cancel=False) self.UTILS.element.waitForElements(DOM.Loop.call_log, "Check we are returned to the call log") current = self.loop.get_number_of_revoked_urls() self.UTILS.test.test(current == 0, "Check that after deleting the URL, we have one less")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.test_contact = MockContact() self.UTILS.general.insertContact(self.test_contact) self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") _ = setup_translations(self) self.expected_message = _("No problem! Just share the following link and they can call you back from" " any browser.") self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[ 0], DOM.Contacts.view_all_contact_specific_contact[1].format(self.test_contact["givenName"])) entry = self.UTILS.element.getElement(elem, "Contact in address book") entry.tap() self.UTILS.iframe.switch_to_active_frame() elem = (DOM.Loop.call_screen_contact_details[ 0], DOM.Loop.call_screen_contact_details[1].format(self.test_contact["name"])) self.UTILS.element.waitForElements(elem, "Call to contact: {}".format(self.test_contact["name"])) time.sleep(5) self.apps.switch_to_displayed_app() self.UTILS.element.waitForElements(DOM.Loop.share_panel, "Share panel") not_a_user_explanation = self.marionette.find_element(*DOM.Loop.not_a_user_explanation) self.UTILS.test.test(not_a_user_explanation.text == self.expected_message, "Message found: {} (Expected: {}".\ format(not_a_user_explanation.text, self.expected_message))
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.fxa_user2 = self.UTILS.general.get_config_variable("fxa_user2", "common") self.fxa_pass2 = self.UTILS.general.get_config_variable("fxa_pass2", "common") self.connect_to_network() self.loop.initial_test_checks() self.logout_fxa() self.apps.kill_all() time.sleep(2) def tearDown(self): self.logout_fxa() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user2, self.fxa_pass2) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") time.sleep(5) self.loop.open_settings() self.loop.logout() self.logout_fxa() self.apps.kill_all() time.sleep(2) self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.UTILS.iframe.switch_to_frame(*DOM.Loop.frame_locator) self.loop.open_settings() login_info_elem = self.UTILS.element.getElement(DOM.Loop.settings_logged_as, "Login info") login_info = login_info_elem.text.split("\n")[-1] self.UTILS.test.test(login_info == self.fxa_user, "Login info matches [FxA]") def logout_fxa(self): self.settings.launch() self.settings.fxa() self.settings.fxa_log_out()
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.contacts = Contacts(self) self.settings = Settings(self) self.test_contact = MockContact(givenName="QA", familyName="Automation") self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") _ = setup_translations(self) self.expected_msg = _("This contact does not have either a phone number or an email address.") self.contacts.launch() self.contacts.start_create_new_contact() cont_fields = self.contacts.get_contact_fields() self.contacts.replace_str(cont_fields['givenName'], self.test_contact['givenName']) self.contacts.replace_str(cont_fields['familyName'], self.test_contact['familyName']) done_button = self.UTILS.element.getElement(DOM.Contacts.done_button, "'Done' button") done_button.tap() self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[ 0], DOM.Contacts.view_all_contact_specific_contact[1].format(self.test_contact["givenName"])) entry = self.UTILS.element.getElement(elem, "Contact in address book") entry.tap() time.sleep(5) self.marionette.switch_to_frame() title = self.UTILS.element.getElement(DOM.GLOBAL.modal_dialog_alert_title, "Error title") msg = self.UTILS.element.getElement(DOM.GLOBAL.modal_dialog_alert_msg, "Error message") self.UTILS.test.test(title.text == "Firefox Hello", "Error title matches") self.UTILS.test.test(msg.text == self.expected_msg, "Error message matches")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.test_contact = MockContact() self.UTILS.general.insertContact(self.test_contact) self.fxa_user = self.UTILS.general.get_config_variable( "fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable( "fxa_pass", "common") self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_settings() self.loop.change_call_mode("Video") self.loop.settings_go_back() self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[0], DOM.Contacts.view_all_contact_specific_contact[1].format( self.test_contact["givenName"])) entry = self.UTILS.element.getElement(elem, "Contact in address book") entry.tap() self.UTILS.iframe.switch_to_active_frame() video_mode = self.UTILS.element.getElement( DOM.Loop.call_screen_video_mode, "Video") self.UTILS.test.test( not "setting-disabled" in video_mode.get_attribute("class"), "Video is disabled when call mode is set to 'Audio'")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.contacts = Contacts(self) self.settings = Settings(self) self.fxa_user = self.UTILS.general.get_config_variable( "fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable( "fxa_pass", "common") self.connect_to_network() self.target_name = "QA" self.test_contacts = [MockContact() for i in range(5)] self.test_contacts[0]["givenName"] = self.target_name self.test_contacts[0]["familyName"] = "Automation" map(self.UTILS.general.insertContact, self.test_contacts) # Clean start if not self.loop.is_installed(): self.loop.install() else: self.loop.launch() # If already logged in, logout if not self.loop.wizard_or_login(): self.loop.open_settings() self.loop.logout() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() self.contacts.search(self.target_name) self.contacts.check_search_results(self.target_name)
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.test_contact = MockContact() self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.connect_to_network() self.UTILS.general.insertContact(self.test_contact) # Clean start if not self.loop.is_installed(): self.loop.install() else: self.loop.launch() # If already logged in, logout if not self.loop.wizard_or_login(): self.loop.open_settings() self.loop.logout() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[ 0], DOM.Contacts.view_all_contact_specific_contact[1].format(self.test_contact["givenName"])) entry = self.UTILS.element.getElement(elem, "Contact in address book") entry.tap() self.UTILS.iframe.switch_to_active_frame() elem = (DOM.Loop.call_screen_contact_details[0], DOM.Loop.call_screen_contact_details[1].format(self.test_contact["name"])) self.UTILS.element.waitForElements(elem, "Call to contact: {}".format(self.test_contact["name"]))
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.contacts = Contacts(self) self.settings = Settings(self) self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.connect_to_network() self.target_name = "QA" self.test_contacts = [MockContact() for i in range(5)] self.test_contacts[0]["givenName"] = self.target_name self.test_contacts[0]["familyName"] = "Automation" map(self.UTILS.general.insertContact, self.test_contacts) # Clean start if not self.loop.is_installed(): self.loop.install() else: self.loop.launch() # If already logged in, logout if not self.loop.wizard_or_login(): self.loop.open_settings() self.loop.logout() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() self.contacts.search(self.target_name) self.contacts.check_search_results(self.target_name)
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.test_contact = MockContact() self.UTILS.general.insertContact(self.test_contact) self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_settings() self.loop.change_call_mode("Audio") self.loop.settings_go_back() self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[ 0], DOM.Contacts.view_all_contact_specific_contact[1].format(self.test_contact["givenName"])) entry = self.UTILS.element.getElement(elem, "Contact in address book") entry.tap() self.UTILS.iframe.switch_to_active_frame() video_mode = self.UTILS.element.getElement(DOM.Loop.call_screen_video_mode, "Video") self.UTILS.test.test("setting-disabled" in video_mode.get_attribute("class"), "Video is disabled when call mode is set to 'Audio'")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.connect_to_network() self.fxa_user = self.UTILS.general.get_config_variable( "fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable( "fxa_pass", "common") self.loop.initial_test_checks() self.logout_fxa() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") time.sleep(5) self.loop.open_settings() self.loop.logout() # The user is not logged in, so no ID is available. The screen to authenticate # is shown instead phone_btn = self.marionette.find_element( *DOM.Loop.wizard_login_phone_number) self.UTILS.test.test(phone_btn, "Use phone number login button is present") def logout_fxa(self): self.settings.launch() self.settings.fxa() self.settings.fxa_log_out()
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.fxa_user = self.UTILS.general.get_config_variable( "fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable( "fxa_pass", "common") self.connect_to_network() self.loop.initial_test_checks() self.logout_fxa() self.apps.kill_all() time.sleep(2) def tearDown(self): self.logout_fxa() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") # Now logout self.loop.open_settings() login_info_elem = self.UTILS.element.getElement( DOM.Loop.settings_logged_as, "Login info") login_info = login_info_elem.text.split("\n")[-1] self.UTILS.test.test(login_info == self.fxa_user, "Login info matches [FxA]") def logout_fxa(self): self.settings.launch() self.settings.fxa() self.settings.fxa_log_out()
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() if self.settings.is_fxa_logged_in(): self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") # Now logout self.loop.open_settings() self.loop.logout() self.apps.kill_all() time.sleep(2) # Now check for login to be prompted self.loop.launch() self.loop.wizard_or_login() self.UTILS.element.waitForElements(DOM.Loop.wizard_login, "Login options prompted")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.test_contact = MockContact() self.fxa_user = self.UTILS.general.get_config_variable( "fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable( "fxa_pass", "common") self.test_contact["givenName"] = "This is a very looooooooooooong name" self.test_contact["familyName"] = "Test" self.test_contact["name"] = "{} {}".format( self.test_contact["givenName"], self.test_contact["familyName"]) self.UTILS.general.insertContact(self.test_contact) self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[0], DOM.Contacts.view_all_contact_specific_contact[1].format( self.test_contact["givenName"])) self.UTILS.element.waitForElements(elem, "Contact in address book")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.test_contact = MockContact() self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.test_contact["givenName"] = "This is a very looooooooooooong name" self.test_contact["familyName"] = "Test" self.test_contact["name"] = "{} {}".format( self.test_contact["givenName"], self.test_contact["familyName"]) self.UTILS.general.insertContact(self.test_contact) self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[ 0], DOM.Contacts.view_all_contact_specific_contact[1].format(self.test_contact["givenName"])) self.UTILS.element.waitForElements(elem, "Contact in address book")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.connect_to_network() self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.loop.initial_test_checks() self.logout_fxa() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") time.sleep(5) self.loop.open_settings() self.loop.logout() # The user is not logged in, so no ID is available. The screen to authenticate # is shown instead phone_btn = self.marionette.find_element(*DOM.Loop.wizard_login_phone_number) self.UTILS.test.test(phone_btn, "Use phone number login button is present") def logout_fxa(self): self.settings.launch() self.settings.fxa() self.settings.fxa_log_out()
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.fxa_user = self.UTILS.general.get_os_variable("GLOBAL_FXA_USER") self.fxa_pass = self.UTILS.general.get_os_variable("GLOBAL_FXA_PASS") self.data_layer.connect_to_cell_data() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() self.loop.wizard_or_login() self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() header = ('xpath', DOM.GLOBAL.app_head_specific.format("Firefox Hello")) self.UTILS.element.waitForElements(header, "Loop main view") # Now logout self.loop.open_settings() self.loop.logout() self.UTILS.element.waitForElements(DOM.Loop.wizard_login, "Login options prompted")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.scenario = "scenarios/urls/multiple/available/diff_day/idb" self.aux_files_dir = self.UTILS.general.get_config_variable("aux_files", "loop") self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.connect_to_network() # Insert our test contacts number_of_contacts = 3 contact_given = "Test" contact_family = map(str, range(1, number_of_contacts + 1)) contact_name = ["{} {}".format(contact_given, contact_family[i]) for i in range(number_of_contacts)] contact_numbers = ["666666666666", "777777777777", "888888888888"] test_contacts = [MockContact(name=contact_name[i], givenName=contact_given, familyName=contact_family[i], tel={'type': 'Mobile', 'value': contact_numbers[i]}) for i in range(number_of_contacts)] map(self.UTILS.general.insertContact, test_contacts) self.loop.initial_test_checks() # Make sure we're not logged in FxA self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.loop.launch() # This needs to be done at this point, bcs if the app is freshly installed the persistence # directories are not in its place until the app is launched for the first time self.loop.update_db("{}/{}".format(self.aux_files_dir, self.scenario)) result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.switch_to_urls() previous = self.loop.get_number_of_available_urls() self.loop.open_settings() self.loop.delete_all_urls(cancel=False) self.UTILS.element.waitForElements(DOM.Loop.call_log, "Check we are returned to the call log") current = self.loop.get_number_of_available_urls() self.UTILS.test.test( previous > current and current == 0, "Check that after deleting all URLs of different days when there are only available, there's nothing")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.settings = Settings(self) self.test_contact = MockContact() self.UTILS.general.insertContact(self.test_contact) self.fxa_user = self.UTILS.general.get_config_variable( "fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable( "fxa_pass", "common") _ = setup_translations(self) self.expected_message = _( "No problem! Just share the following link and they can call you back from" " any browser.") self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[0], DOM.Contacts.view_all_contact_specific_contact[1].format( self.test_contact["givenName"])) entry = self.UTILS.element.getElement(elem, "Contact in address book") entry.tap() self.UTILS.iframe.switch_to_active_frame() elem = (DOM.Loop.call_screen_contact_details[0], DOM.Loop.call_screen_contact_details[1].format( self.test_contact["name"])) self.UTILS.element.waitForElements( elem, "Call to contact: {}".format(self.test_contact["name"])) time.sleep(5) self.apps.switch_to_displayed_app() self.UTILS.element.waitForElements(DOM.Loop.share_panel, "Share panel") not_a_user_explanation = self.marionette.find_element( *DOM.Loop.not_a_user_explanation) self.UTILS.test.test(not_a_user_explanation.text == self.expected_message, "Message found: {} (Expected: {}".\ format(not_a_user_explanation.text, self.expected_message))
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.contacts = Contacts(self) self.settings = Settings(self) self.fxa_user = self.UTILS.general.get_config_variable("fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable("fxa_pass", "common") self.target_name = "QA" self.test_contacts = [MockContact() for i in range(3)] self.test_contacts[0]["givenName"] = self.target_name self.test_contacts[0]["familyName"] = "Automation" self.test_contacts[0]["name"] = "{} {}".format( self.test_contacts[0]["givenName"], self.test_contacts[0]["familyName"]) map(self.UTILS.general.insertContact, self.test_contacts) self.contacts.launch() self._add_contact_as_favorite(self.test_contacts[0]) self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[ 0], DOM.Contacts.view_all_contact_specific_contact[1].format(self.test_contacts[0]["givenName"])) self.UTILS.element.waitForElements(elem, "Contact in address book") def _add_contact_as_favorite(self, contact): self.contacts.view_contact(contact['name']) favorite_btn = self.UTILS.element.getElement(DOM.Contacts.favourite_button, "Favourite toggle button") favorite_btn.tap() back_btn = self.UTILS.element.getElement(DOM.Contacts.details_back_button, "Back button") back_btn.tap() string = "{}{}".format(contact['givenName'], contact['familyName']).upper() favs = ("xpath", DOM.Contacts.favourites_list_xpath.format(string)) self.UTILS.element.waitForElements(favs, "'" + contact['name'] + "' in the favourites list")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.contacts = Contacts(self) self.settings = Settings(self) self.test_contact = MockContact(givenName="QA", familyName="Automation") self.fxa_user = self.UTILS.general.get_config_variable( "fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable( "fxa_pass", "common") _ = setup_translations(self) self.expected_msg = _( "This contact does not have either a phone number or an email address." ) self.contacts.launch() self.contacts.start_create_new_contact() cont_fields = self.contacts.get_contact_fields() self.contacts.replace_str(cont_fields['givenName'], self.test_contact['givenName']) self.contacts.replace_str(cont_fields['familyName'], self.test_contact['familyName']) done_button = self.UTILS.element.getElement(DOM.Contacts.done_button, "'Done' button") done_button.tap() self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[0], DOM.Contacts.view_all_contact_specific_contact[1].format( self.test_contact["givenName"])) entry = self.UTILS.element.getElement(elem, "Contact in address book") entry.tap() time.sleep(5) self.marionette.switch_to_frame() title = self.UTILS.element.getElement( DOM.GLOBAL.modal_dialog_alert_title, "Error title") msg = self.UTILS.element.getElement( DOM.GLOBAL.modal_dialog_alert_msg, "Error message") self.UTILS.test.test(title.text == "Firefox Hello", "Error title matches") self.UTILS.test.test(msg.text == self.expected_msg, "Error message matches")
class main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.loop = Loop(self) self.contacts = Contacts(self) self.settings = Settings(self) self.fxa_user = self.UTILS.general.get_config_variable( "fxa_user", "common") self.fxa_pass = self.UTILS.general.get_config_variable( "fxa_pass", "common") self.target_name = "QA" self.test_contacts = [MockContact() for i in range(3)] self.test_contacts[0]["givenName"] = self.target_name self.test_contacts[0]["familyName"] = "Automation" self.test_contacts[0]["name"] = "{} {}".format( self.test_contacts[0]["givenName"], self.test_contacts[0]["familyName"]) map(self.UTILS.general.insertContact, self.test_contacts) self.contacts.launch() self._add_contact_as_favorite(self.test_contacts[0]) self.connect_to_network() self.loop.initial_test_checks() self.settings.launch() self.settings.fxa() self.settings.fxa_log_out() self.apps.kill_all() time.sleep(2) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # First, login self.loop.launch() result = self.loop.wizard_or_login() if result: self.loop.firefox_login(self.fxa_user, self.fxa_pass) self.loop.allow_permission_ffox_login() self.UTILS.element.waitForElements(DOM.Loop.app_header, "Loop main view") self.loop.open_address_book() elem = (DOM.Contacts.view_all_contact_specific_contact[0], DOM.Contacts.view_all_contact_specific_contact[1].format( self.test_contacts[0]["givenName"])) self.UTILS.element.waitForElements(elem, "Contact in address book") def _add_contact_as_favorite(self, contact): self.contacts.view_contact(contact['name']) favorite_btn = self.UTILS.element.getElement( DOM.Contacts.favourite_button, "Favourite toggle button") favorite_btn.tap() back_btn = self.UTILS.element.getElement( DOM.Contacts.details_back_button, "Back button") back_btn.tap() string = "{}{}".format(contact['givenName'], contact['familyName']).upper() favs = ("xpath", DOM.Contacts.favourites_list_xpath.format(string)) self.UTILS.element.waitForElements( favs, "'" + contact['name'] + "' in the favourites list")