class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) # Import contact (adjust to the correct number). self.test_num = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact1 = MockContact(givenName="Name 1", familyName="Surname 1", name="Name 1 Surname 1", tel={"type": "Mobile", "value": self.test_num}) self.UTILS.reporting.logComment("Using target telephone number " + self.contact1["tel"]["value"]) self.UTILS.general.insertContact(self.contact1) self.call_number = self.UTILS.general.get_config_variable("incoming_call_number", "common") self.data_layer.delete_all_sms() self.UTILS.statusbar.clearAllStatusBarNotifs() _ = setup_translations(self) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() self.messages.startNewSMS() self.messages.addContactToField(self.contact1["name"]) # Insert the phone number in the To field self.messages.addNumbersInToField([self.call_number]) search_str = _("2 recipients") self.UTILS.element.headerCheck(search_str) # Enter the message. self.UTILS.reporting.logResult("info", "Enter the message.") self.messages.enterSMSMsg("Test 29911") # Send the message. self.messages.sendSMS() self.UTILS.statusbar.wait_for_notification_toaster_title(self.contact1["name"]) self.UTILS.iframe.switch_to_frame(*DOM.Messages.frame_locator) # Verify the number is shown in the header as there is no contact name self.messages.openThread(self.call_number) self.messages.checkThreadHeader(self.call_number) self.UTILS.reporting.logResult("info", "Verify the number is shown in the header as there is no contact name") # Return to main SMS page. self.messages.closeThread() # Verify the thread now contains the name of the contact instead of the phone number self.UTILS.reporting.logResult("info", "Trying to open the thread with name: " + self.contact1["name"]) self.messages.openThread(self.contact1["name"]) self.messages.checkThreadHeaderWithNameSurname(self.contact1["name"])
class test_main(GaiaTestCase): test_msg = "Hello World {}".format(time.time()) def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.music = Music(self) self.video = Video(self) # Establish which phone number to use. self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) self.data_layer.delete_all_sms() self.UTILS.statusbar.clearAllStatusBarNotifs() self.expected_sizes = ["4.8", "62.3", "175.6"] self.expected_names = ["80x60.jpg", "30k_basic_AMR.amr", "mpeg4.3gp"] self.UTILS.general.add_file_to_device('./tests/_resources/80x60.jpg') self.UTILS.general.add_file_to_device('./tests/_resources/30k_basic_AMR.amr') self.UTILS.general.add_file_to_device('./tests/_resources/mpeg4.mp4') def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() self.messages.startNewSMS() self.messages.addNumbersInToField([self.phone_number]) self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) self.messages.create_mms_music() self.music.click_on_song_mms() self.messages.create_mms_video() self.video.click_on_video_at_position_mms(0) # Click send and wait for the message to be received self.messages.sendSMS() last_msg = self.messages.wait_for_message() attachments = self.messages.get_mms_attachments_info(last_msg) self.UTILS.reporting.debug("*** ATTACHMENTS: {}".format(attachments)) # Check the names and sizes of all attachments are as expected for (i, att) in enumerate(attachments): self.UTILS.test.test(self.expected_names[i] == att["name"] and self.expected_sizes[i] == att["size"], "Attachment [{}] ({}kb) Expected [{}] ({}kb)".\ format(self.expected_names[i], self.expected_sizes[i], att["name"], att["size"]))
class test_main(GaiaTestCase): test_msg = "Hello World" def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) self.test_msg = "Test message for test 31727" self.UTILS.general.add_file_to_device('./tests/_resources/300x300.png') def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() self.messages.startNewSMS() self.messages.addNumbersInToField([self.phone_number]) self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) self.messages.sendSMS() self.messages.wait_for_message() self.messages.check_last_message_contents(self.test_msg, mms=True) self.messages.verify_mms_received('img', self.phone_number)
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) self.gallery = Gallery(self) # Import contact (adjust to the correct number). self.test_num = self.UTILS.general.get_config_variable("phone_number", "custom") self.cont = MockContact(tel={"type": "Mobile", "value": self.test_num}) self.UTILS.reporting.logComment("Using target telephone number " + self.cont["tel"]["value"]) def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.UTILS.general.add_file_to_device('./tests/_resources/imgd.jpg') # Launch messages app. self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.test_num]) # Create MMS. self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # Click send and wait for the message to be received self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() """ Open contacts app and create a contact with the same phone number used to send the MMS in the previous step """ self.contacts.launch() self.contacts.create_contact(self.cont) # Switch back to the messages app. self.UTILS.home.goHome() self.messages.launch() # Verify the thread now contains the name of the contact instead of the phone number self.UTILS.reporting.logComment("Trying to open the thread with name: " + self.cont["name"]) self.messages.openThread(self.cont["name"]) self.messages.wait_for_message(send_time)
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) # Import contact (adjust to the correct number). self.test_num = self.UTILS.general.get_config_variable( "phone_number", "custom") self.cont = MockContact(tel={"type": "Mobile", "value": self.test_num}) self.UTILS.reporting.logComment("Using target telephone number " + self.cont["tel"]["value"]) self.data_layer.delete_all_sms() def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch messages app. self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.test_num]) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send and wait for the message to be received self.messages.sendSMS() self.messages.wait_for_message() self.messages.go_back() """ Open contacts app and create a contact with the same phone number used to send the SMS in the previous step """ self.contacts.launch() self.contacts.create_contact(self.cont) # Switch back to the messages app. # self.UTILS.app.switchToApp("Messages") self.messages.launch() # Verify the thread now contains the name of the contact instead of the phone number self.UTILS.reporting.logComment( "Trying to open the thread with name: " + self.cont["name"]) self.messages.openThread(self.cont["name"])
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) # Establish which phone number to use. self.phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.UTILS.reporting.logComment("Sending sms to telephone number " + self.phone_number) self.data_layer.delete_all_sms() def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.UTILS.statusbar.clearAllStatusBarNotifs() self.UTILS.general.add_file_to_device('./tests/_resources/80x60.jpg') # Create message. sms_message = "Test" # Launch messages app. self.messages.launch() # Create and send a new test message. self.messages.create_and_send_sms([self.phone_number], sms_message) self.messages.wait_for_message() self.messages.go_back() self.UTILS.element.waitForNotElements(DOM.Messages.mms_icon, "MMS Icon") self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.phone_number]) # Create MMS. self.messages.enterSMSMsg(sms_message) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # Click send and wait for the message to be received self.messages.sendSMS() self.messages.wait_for_message() self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) self.messages.go_back() self.messages.checkMMSIcon(self.phone_number)
class test_main(GaiaTestCase): test_msg = "Test." def __init__(self, *args, **kwargs): kwargs['restart'] = True super(test_main, self).__init__(*args, **kwargs) def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.contacts = Contacts(self) self.messages = Messages(self) # Prepare the contact we're going to insert. tlf = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact = MockContact(tel={'type': 'Mobile', 'value': tlf}) self.UTILS.reporting.logComment("Using target telephone number " + self.contact["tel"]["value"]) # Add this contact (quick'n'dirty method - we're just testing sms, no adding a contact). self.UTILS.general.insertContact(self.contact) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch contacts app. self.contacts.launch() # View the details of our contact. self.contacts.view_contact(self.contact['name']) # Tap the sms button in the view details screen to go to the sms page. smsBTN = self.UTILS.element.getElement(DOM.Contacts.sms_button, "Send SMS button") smsBTN.tap() """ Switch to the 'Messages' app frame (or marionette will still be watching the 'Contacts' app!). """ time.sleep(2) self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) # Create SMS. x = self.UTILS.debug.screenShotOnErr() self.UTILS.reporting.logResult("info", "frame", x) self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS()
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) # Import contact (adjust to the correct number). self.test_num = self.UTILS.general.get_config_variable("phone_number", "custom") self.cont = MockContact(tel={"type": "Mobile", "value": self.test_num}) self.UTILS.reporting.logComment("Using target telephone number " + self.cont["tel"]["value"]) self.data_layer.delete_all_sms() def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch messages app. self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.test_num]) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send and wait for the message to be received self.messages.sendSMS() self.messages.wait_for_message() self.messages.go_back() """ Open contacts app and create a contact with the same phone number used to send the SMS in the previous step """ self.contacts.launch() self.contacts.create_contact(self.cont) # Switch back to the messages app. # self.UTILS.app.switchToApp("Messages") self.messages.launch() # Verify the thread now contains the name of the contact instead of the phone number self.UTILS.reporting.logComment("Trying to open the thread with name: " + self.cont["name"]) self.messages.openThread(self.cont["name"])
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) # Establish which phone number to use. self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.UTILS.reporting.logComment("Sending sms to telephone number " + self.phone_number) self.data_layer.delete_all_sms() def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.UTILS.statusbar.clearAllStatusBarNotifs() self.UTILS.general.add_file_to_device('./tests/_resources/80x60.jpg') # Create message. sms_message = "Test" # Launch messages app. self.messages.launch() # Create and send a new test message. self.messages.create_and_send_sms([self.phone_number], sms_message) self.messages.wait_for_message() self.messages.go_back() self.UTILS.element.waitForNotElements(DOM.Messages.mms_icon, "MMS Icon") self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.phone_number]) # Create MMS. self.messages.enterSMSMsg(sms_message) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # Click send and wait for the message to be received self.messages.sendSMS() self.messages.wait_for_message() self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) self.messages.go_back() self.messages.checkMMSIcon(self.phone_number)
class test_main(GaiaTestCase): test_msg = "Hello World" def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) # Establish which phone number to use. self.phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) # Prepare the contact we're going to insert. self.contact = MockContact(tel={ 'type': '', 'value': self.phone_number }) self.UTILS.general.insertContact(self.contact) self.data_layer.delete_all_sms() self.UTILS.statusbar.clearAllStatusBarNotifs() def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Load an image file into the device. self.UTILS.general.add_file_to_device('./tests/_resources/80x60.jpg') # Launch messages app. self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.phone_number]) # Create MMS. self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # Click send and wait for the message to be received self.messages.sendSMS() self.messages.wait_for_message() self.messages.forwardMessageToContact("mms", self.contact["name"])
class test_main(GaiaTestCase): test_msg = "Test." def __init__(self, *args, **kwargs): kwargs['restart'] = True super(test_main, self).__init__(*args, **kwargs) def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.contacts = Contacts(self) self.messages = Messages(self) # Prepare the contact we're going to insert. tlf = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact = MockContact(tel={'type': 'Mobile', 'value': tlf}) self.UTILS.reporting.logComment("Using target telephone number " + self.contact["tel"]["value"]) # Add this contact (quick'n'dirty method - we're just testing sms, no adding a contact). self.UTILS.general.insertContact(self.contact) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch contacts app. self.contacts.launch() # View the details of our contact. self.contacts.view_contact(self.contact['name']) # Tap the sms button in the view details screen to go to the sms page. smsBTN = self.UTILS.element.getElement(DOM.Contacts.sms_button, "Send SMS button") smsBTN.tap() """ Switch to the 'Messages' app frame (or marionette will still be watching the 'Contacts' app!). """ time.sleep(2) self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) # Create SMS. x = self.UTILS.debug.screenShotOnErr() self.UTILS.reporting.logResult("info", "frame", x) self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS()
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.target_num = self.UTILS.general.get_config_variable("phone_number", "custom") self.test_msg = "Test." self.data_layer.delete_all_sms() def tearDown(self): self.UTILS.reporting.reportResults() self.UTILS.statusbar.toggleViaStatusBar('airplane') def test_run(self): # Create a new SMS self.messages.launch() self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.target_num]) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() # Wait for the SMS to arrive. self.messages.wait_for_message(send_time=send_time) self.UTILS.home.goHome() # Put the phone into airplane mode. self.UTILS.statusbar.toggleViaStatusBar('airplane') self.UTILS.reporting.debug("*** Launching messages again!!!") self.messages.launch() # Open sms app and go to the previous thread self.messages.openThread(self.target_num) # Create another SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() # Check that popup appears. self.messages.checkAirplaneModeWarning()
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.music = Music(self) self.settings = Settings(self) # Establish which phone number to use. self.phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Load files into the device. self.UTILS.general.add_file_to_device('./tests/_resources/imgd.jpg') self.UTILS.general.add_file_to_device('./tests/_resources/MP3.mp3') # Launch messages app. self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.phone_number]) # Create MMS. self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) self.messages.create_mms_music() self.music.click_on_song_mms() # Click send and wait for the message to be received self.messages.sendSMS() self.messages.wait_for_message() self.messages.verify_mms_received('img', self.phone_number) self.messages.verify_mms_received('audio', self.phone_number)
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.target_num = self.UTILS.general.get_config_variable( "phone_number", "custom") self.test_msg = "Test." self.data_layer.delete_all_sms() def tearDown(self): self.UTILS.reporting.reportResults() self.UTILS.statusbar.toggleViaStatusBar('airplane') def test_run(self): # Create a new SMS self.messages.launch() self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.target_num]) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() # Wait for the SMS to arrive. self.messages.wait_for_message(send_time=send_time) self.UTILS.home.goHome() # Put the phone into airplane mode. self.UTILS.statusbar.toggleViaStatusBar('airplane') self.UTILS.reporting.debug("*** Launching messages again!!!") self.messages.launch() # Open sms app and go to the previous thread self.messages.openThread(self.target_num) # Create another SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() # Check that popup appears. self.messages.checkAirplaneModeWarning()
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.contacts = Contacts(self) self.messages = Messages(self) self.target_mms_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.contact_1 = MockContact(tel={ 'type': 'Mobile', 'value': self.target_mms_number }) self.UTILS.reporting.logComment("Using target telephone number " + self.contact_1["tel"]["value"]) self.UTILS.general.insertContact(self.contact_1) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.contacts.launch() self.contacts.view_contact(self.contact_1['name']) # Tap the sms button in the view details screen to go to the sms page. sms_button = self.UTILS.element.getElement(DOM.Contacts.sms_button, "Send SMS button") sms_button.tap() self.apps.switch_to_displayed_app() time.sleep(10) self.wait_for_condition( lambda m: m.find_element(*DOM.Messages.target_numbers ).text == self.contact_1['name'], timeout=10, message="To field is already prepulated with our contact info") # Create SMS. self.messages.enterSMSMsg(self.test_msg) self.messages.sendSMS() # Wait for the last message in this thread to be a 'received' one. self.UTILS.statusbar.wait_for_notification_toaster_detail( self.test_msg, timeout=120) self.UTILS.statusbar.click_on_notification_detail( self.test_msg, DOM.Messages.frame_locator) self.messages.check_last_message_contents(self.test_msg)
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) # Put the phone into airplane mode. self.data_layer.set_setting('airplaneMode.enabled', True) # Prepare the contact we're going to insert. self.phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.contact = MockContact(tel={ 'type': '', 'value': self.phone_number }) self.UTILS.general.insertContact(self.contact) self.UTILS.reporting.logComment("Using target telephone number " + self.contact["tel"]["value"]) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Open sms app and delete every thread to start a new one self.contacts.launch() self.contacts.view_contact(self.contact["name"]) x = self.UTILS.element.getElement(DOM.Contacts.sms_button, "SMS button") x.tap() time.sleep(2) self.marionette.switch_to_frame() self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() time.sleep(3) # Check that popup appears. self.messages.checkAirplaneModeWarning()
class test_main(GaiaTestCase): test_msg = "Hello World" test_subject = "My Subject" def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) # Establish which phone number to use. self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) self.data_layer.delete_all_sms() self.UTILS.statusbar.clearAllStatusBarNotifs() def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Load an image file into the device. self.UTILS.general.add_file_to_device('./tests/_resources/80x60.jpg') # Launch messages app. self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.phone_number]) # Create MMS. self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # add subject self.messages.addSubject(self.test_subject) # Click send and wait for the message to be received self.messages.sendSMS() self.messages.wait_for_message() # Forward a message in this case we use "mmssub" to send a mms with subject. self.messages.forwardMessage("mmssub", self.phone_number)
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.music = Music(self) self.settings = Settings(self) # Establish which phone number to use. self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Load files into the device. self.UTILS.general.add_file_to_device('./tests/_resources/imgd.jpg') self.UTILS.general.add_file_to_device('./tests/_resources/MP3.mp3') # Launch messages app. self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.phone_number]) # Create MMS. self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) self.messages.create_mms_music() self.music.click_on_song_mms() # Click send and wait for the message to be received self.messages.sendSMS() self.messages.wait_for_message() self.messages.verify_mms_received('img', self.phone_number) self.messages.verify_mms_received('audio', self.phone_number)
class test_main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) self.gallery = Gallery(self) self.test_num = self.UTILS.general.get_config_variable( "phone_number", "custom") self.cont = MockContact(tel={"type": "Mobile", "value": self.test_num}) self.UTILS.general.insertContact(self.cont) self.UTILS.general.add_file_to_device('./tests/_resources/imga.jpg') self.UTILS.reporting.logComment("Using target telephone number " + self.cont["tel"]["value"]) def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() self.messages.startNewSMS() self.messages.enterSMSMsg("Test") self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # Search for our contact. time.sleep(5) self.messages.selectAddContactButton() self.UTILS.iframe.switchToFrame(*DOM.Contacts.frame_locator) self.contacts.search(self.cont["name"]) self.contacts.check_search_results(self.cont["name"]) result = self.UTILS.element.getElements( DOM.Contacts.search_results_list, "Contacts search results") for contact in result: if contact.text == self.cont["name"]: contact.tap() break self.apps.switch_to_displayed_app() # Now check the correct name is in the 'To' list. self.messages.checkIsInToField(self.cont["name"]) self.messages.sendSMS()
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) self.Dialer = Dialer(self) phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") prefix = "0034" self.num1 = prefix + phone_number if not phone_number.startswith( "+34") else prefix + phone_number[3:] self.num2 = phone_number[3:] if phone_number.startswith( "+34") else phone_number self.contact = MockContact(tel={'type': 'Mobile', 'value': self.num1}) self.UTILS.general.insertContact(self.contact) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() # Create and send a new test message to this contact. self.messages.startNewSMS() self.messages.selectAddContactButton() self.UTILS.iframe.switchToFrame(*DOM.Contacts.frame_locator) self.contacts.view_contact(self.contact["givenName"], False) self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) self.messages.checkIsInToField(self.contact["name"], True) self.messages.enterSMSMsg("Test message.") self.messages.sendSMS() self.messages.wait_for_message() # Tap the header to call. self.messages.header_call() # Dialler is started with the number already filled in. phone_field = self.UTILS.element.getElement(DOM.Dialer.phone_number, "Phone number") self.UTILS.test.test( self.num2 in phone_field.get_attribute("value"), "The phone number contains '{}' (it was '{}').".format( self.num1, phone_field.get_attribute("value")))
class test_main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) # Prepare the contact we're going to insert. self.phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.contact = MockContact(tel={ 'type': '', 'value': self.phone_number }) self.UTILS.general.insertContact(self.contact) self.UTILS.reporting.logComment("Using target telephone number " + self.contact["tel"]["value"]) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch messages app. self.messages.launch() # Type a message containing the required string self.messages.startNewSMS() self.messages.enterSMSMsg("Test message") # Search for our contact. self.messages.selectAddContactButton() self.UTILS.iframe.switchToFrame(*DOM.Contacts.frame_locator) self.contacts.search(self.contact["name"]) self.contacts.check_search_results(self.contact["name"]) contact_list = self.UTILS.element.getElements( DOM.Contacts.search_results_list, "Contacts search results") for c in contact_list: if c.text == self.contact["name"]: c.tap() break # Switch back to the sms iframe. self.apps.switch_to_displayed_app() # Now check the correct name is in the 'To' list. self.messages.checkIsInToField(self.contact["name"]) self.messages.sendSMS()
class test_main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) self.gallery = Gallery(self) self.test_num = self.UTILS.general.get_config_variable("phone_number", "custom") self.cont = MockContact(tel={"type": "Mobile", "value": self.test_num}) self.UTILS.general.insertContact(self.cont) self.UTILS.general.add_file_to_device('./tests/_resources/imga.jpg') self.UTILS.reporting.logComment("Using target telephone number " + self.cont["tel"]["value"]) def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() self.messages.startNewSMS() self.messages.enterSMSMsg("Test") self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # Search for our contact. time.sleep(5) self.messages.selectAddContactButton() self.UTILS.iframe.switchToFrame(*DOM.Contacts.frame_locator) self.contacts.search(self.cont["name"]) self.contacts.check_search_results(self.cont["name"]) result = self.UTILS.element.getElements(DOM.Contacts.search_results_list, "Contacts search results") for contact in result: if contact.text == self.cont["name"]: contact.tap() break self.apps.switch_to_displayed_app() # Now check the correct name is in the 'To' list. self.messages.checkIsInToField(self.cont["name"]) self.messages.sendSMS()
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") # Put the phone into airplane mode. self.data_layer.set_setting('airplaneMode.enabled', True) self.data_layer.delete_all_sms() self.UTILS.statusbar.clearAllStatusBarNotifs() def tearDown(self): self.data_layer.set_setting('airplaneMode.enabled', False) self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.phone_number]) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() time.sleep(3) # Check that popup appears. self.messages.checkAirplaneModeWarning() # Check an error indication is shown in message self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) msg = self.messages.last_message_in_this_thread() indication = msg.get_attribute("class").index("error") != -1 self.UTILS.test.test(indication == True, "An indication error was found")
class test_main(GaiaTestCase): test_msg = "Hello World" def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) # Prepare the contact we're going to insert. self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact = MockContact(tel={'type': '', 'value': self.phone_number}) self.UTILS.general.insertContact(self.contact) self.data_layer.delete_all_sms() self.UTILS.statusbar.clearAllStatusBarNotifs() def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Load an image file into the device. self.UTILS.general.add_file_to_device('./tests/_resources/80x60.jpg') # Launch messages app. self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.phone_number]) # Create MMS. self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # Click send and wait for the message to be received self.messages.sendSMS() self.messages.wait_for_message() self.messages.forwardMessageToMultipleRecipients("mms", self.phone_number, self.contact["name"])
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) # Put the phone into airplane mode. self.data_layer.set_setting('airplaneMode.enabled', True) # Prepare the contact we're going to insert. self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact = MockContact(tel={'type': '', 'value': self.phone_number}) self.UTILS.general.insertContact(self.contact) self.UTILS.reporting.logComment("Using target telephone number " + self.contact["tel"]["value"]) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Open sms app and delete every thread to start a new one self.contacts.launch() self.contacts.view_contact(self.contact["name"]) x = self.UTILS.element.getElement(DOM.Contacts.sms_button, "SMS button") x.tap() time.sleep(2) self.marionette.switch_to_frame() self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() time.sleep(3) # Check that popup appears. self.messages.checkAirplaneModeWarning()
class test_main(GaiaTestCase): test_msg = "Test message." def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) self.Dialer = Dialer(self) self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom").split("+34")[-1] self.contact = MockContact(tel={'type': 'Mobile', 'value': self.phone_number}) self.UTILS.general.insertContact(self.contact) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() # Create and send a new test message. self.messages.startNewSMS() self.messages.selectAddContactButton() self.UTILS.iframe.switchToFrame(*DOM.Contacts.frame_locator) self.contacts.view_contact(self.contact["givenName"], False) self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) self.messages.checkIsInToField(self.contact["name"], True) self.messages.enterSMSMsg("Test message.") self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() self.messages.wait_for_message(send_time=send_time) # Tap the header to call. self.messages.header_call() # Dialer is started with the number already filled in. time.sleep(2) phone_field = self.UTILS.element.getElement(DOM.Dialer.phone_number, "Phone number field", False) dialer_num = phone_field.get_attribute("value") self.UTILS.test.test(self.phone_number == dialer_num, "The phone is '{}' (expected '{}').".\ format(dialer_num, self.phone_number))
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) self.Dialer = Dialer(self) phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") prefix = "0034" self.num1 = prefix + phone_number if not phone_number.startswith("+34") else prefix + phone_number[3:] self.num2 = phone_number[3:] if phone_number.startswith("+34") else phone_number self.contact = MockContact(tel={'type': 'Mobile', 'value': self.num1}) self.UTILS.general.insertContact(self.contact) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() # Create and send a new test message to this contact. self.messages.startNewSMS() self.messages.selectAddContactButton() self.UTILS.iframe.switchToFrame(*DOM.Contacts.frame_locator) self.contacts.view_contact(self.contact["givenName"], False) self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) self.messages.checkIsInToField(self.contact["name"], True) self.messages.enterSMSMsg("Test message.") self.messages.sendSMS() self.messages.wait_for_message() # Tap the header to call. self.messages.header_call() # Dialler is started with the number already filled in. phone_field = self.UTILS.element.getElement(DOM.Dialer.phone_number, "Phone number") self.UTILS.test.test(self.num2 in phone_field.get_attribute("value"), "The phone number contains '{}' (it was '{}').".format(self.num1, phone_field.get_attribute("value")))
class test_main(GaiaTestCase): test_msg = "Hello World" def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.music = Music(self) # Establish which phone number to use. self.phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) # Load files into the device. self.UTILS.general.add_file_to_device('./tests/_resources/80x60.jpg') self.UTILS.general.add_file_to_device('./tests/_resources/AMR.amr') def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() self.messages.startNewSMS() self.messages.addNumbersInToField([self.phone_number]) self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) time.sleep(2) self.messages.create_mms_music() self.music.click_on_song_mms() self.messages.sendSMS() self.messages.wait_for_message() self.messages.verify_mms_received("img", self.phone_number) self.messages.verify_mms_received("audio", self.phone_number)
class test_main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) # Prepare the contact we're going to insert. self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact = MockContact(tel={'type': '', 'value': self.phone_number}) self.UTILS.general.insertContact(self.contact) self.UTILS.reporting.logComment("Using target telephone number " + self.contact["tel"]["value"]) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch messages app. self.messages.launch() # Type a message containing the required string self.messages.startNewSMS() self.messages.enterSMSMsg("Test message") # Search for our contact. self.messages.selectAddContactButton() self.UTILS.iframe.switchToFrame(*DOM.Contacts.frame_locator) self.contacts.search(self.contact["name"]) self.contacts.check_search_results(self.contact["name"]) contact_list = self.UTILS.element.getElements(DOM.Contacts.search_results_list, "Contacts search results") for c in contact_list: if c.text == self.contact["name"]: c.tap() break # Switch back to the sms iframe. self.apps.switch_to_displayed_app() # Now check the correct name is in the 'To' list. self.messages.checkIsInToField(self.contact["name"]) self.messages.sendSMS()
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) # Get the correct number for the sms device. self.num = self.UTILS.general.get_config_variable("phone_number", "custom") def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch messages app. self.messages.launch() """ Send a message to a valid number to create a thread with just an outgoing message """ msg_text = str(time.time()) self.messages.create_and_send_sms([self.num], msg_text) self.messages.wait_for_message() # Add another message to the same thread msg_text = str(time.time()) self.messages.enterSMSMsg(msg_text) self.messages.sendSMS() self.messages.wait_for_message() # Return to the threads view. self.messages.go_back() # Get the preview txt for our test. preview_text = self.messages.getThreadText(self.num) self.UTILS.test.test(preview_text in msg_text, "Preview text (" + preview_text + ") is in the original message text(" + msg_text + ").")
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.contacts = Contacts(self) self.messages = Messages(self) self.target_mms_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact_1 = MockContact(tel={'type': 'Mobile', 'value': self.target_mms_number}) self.UTILS.reporting.logComment("Using target telephone number " + self.contact_1["tel"]["value"]) self.UTILS.general.insertContact(self.contact_1) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.contacts.launch() self.contacts.view_contact(self.contact_1['name']) # Tap the sms button in the view details screen to go to the sms page. sms_button = self.UTILS.element.getElement(DOM.Contacts.sms_button, "Send SMS button") sms_button.tap() self.apps.switch_to_displayed_app() time.sleep(10) self.wait_for_condition(lambda m: m.find_element(*DOM.Messages.target_numbers).text == self.contact_1['name'], timeout=10, message="To field is already prepulated with our contact info") # Create SMS. self.messages.enterSMSMsg(self.test_msg) self.messages.sendSMS() # Wait for the last message in this thread to be a 'received' one. self.UTILS.statusbar.wait_for_notification_toaster_detail(self.test_msg, timeout=120) self.UTILS.statusbar.click_on_notification_detail(self.test_msg, DOM.Messages.frame_locator) self.messages.check_last_message_contents(self.test_msg)
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.contacts = Contacts(self) self.messages = Messages(self) # Prepare the contact we're going to insert. self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact = MockContact(givenName = '', familyName = '', name = '', tel = {'type': '', 'value': self.phone_number}) self.UTILS.general.insertContact(self.contact) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Clear out any current messages. self.messages.launch() # Create SMS. self.messages.startNewSMS() self.messages.addNumbersInToField([ self.contact["tel"]["value"] ]) self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() # Wait for the last message in this thread to be a 'received' one. self.messages.wait_for_message() # Verify the number is shown in the header as there is no contact name self.messages.checkThreadHeader(str(self.contact["tel"]["value"]))
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) # Put the phone into airplane mode. self.data_layer.set_setting('airplaneMode.enabled', True) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Open sms app self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField( [self.UTILS.general.get_config_variable("phone_number", "custom")]) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() time.sleep(3) # Check that popup appears. self.messages.checkAirplaneModeWarning()
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) # Put the phone into airplane mode. self.data_layer.set_setting('airplaneMode.enabled', True) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Open sms app self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.UTILS.general.get_config_variable("phone_number", "custom")]) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() time.sleep(3) # Check that popup appears. self.messages.checkAirplaneModeWarning()
class test_main(GaiaTestCase): test_msg = "Hello World" def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) self.test_msg = "Test message for test 31727" self.UTILS.general.add_file_to_device('./tests/_resources/300x300.png') def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() self.messages.startNewSMS() self.messages.addNumbersInToField([self.phone_number]) self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) self.messages.sendSMS() self.messages.wait_for_message() self.messages.check_last_message_contents(self.test_msg, mms=True) self.messages.verify_mms_received('img', self.phone_number)
class test_main(GaiaTestCase): test_msg = "Welcome to the September Checkpoint. See this: https://www.youtube.com/watch?v=jAHlQ77lm10" video_container_locator = (By.CSS_SELECTOR, 'div[style^="background-image"]') video_element_locator = (By.TAG_NAME, 'video') def setUp(self): # # Set up child objects... # GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.browser = Browser(self) self.phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) self.data_layer.connect_to_cell_data() def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # # Load files into the device. # self.UTILS.general.addFileToDevice('./tests/_resources/300x300.png', destination='DCIM/100MZLLA') # # Launch messages app. # self.messages.launch() # # Create a new SMS # self.messages.startNewSMS() # # Insert the phone number in the To field # self.messages.addNumbersInToField([self.phone_number]) # # Create MMS. # self.messages.enterSMSMsg(self.test_msg) self.messages.createMMSImage() self.gallery.clickThumbMMS(0) # # Click send and wait for the message to be received # self.messages.sendSMS() self.UTILS.statusbar.wait_for_notification_toaster_detail( self.test_msg, timeout=120) self.UTILS.statusbar.click_on_notification_detail( self.test_msg, DOM.Messages.frame_locator) text = self.UTILS.element.getElement( DOM.Messages.last_message_mms_text, "Message text").text last_msg = self.messages.lastMessageInThisThread() self.UTILS.element.scroll_into_view(last_msg) self.UTILS.test.TEST( text == self.test_msg, u"[{}] received. Expected [{}]".format(text, self.test_msg), True) url = self.marionette.find_element("css selector", "a[data-url*=youtube]", id=last_msg.id) url.tap() # # Tap the video container # self.UTILS.iframe.switchToFrame(*DOM.Browser.frame_locator) self.browser.switch_to_content() self.wait_for_element_present(*self.video_container_locator, timeout=30) self.marionette.find_element(*self.video_container_locator).tap() # # Wait HTML5 player appear # self.wait_for_element_present(*self.video_element_locator, timeout=30) video = self.marionette.find_element(*self.video_element_locator) # # Check that video is playing # time.sleep(5) player = HTML5Player(self.marionette, video) player.wait_for_video_loaded() self.assertTrue(player.is_video_playing())
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.contacts = Contacts(self) self.messages = Messages(self) # Prepare the contact we're going to insert. self.phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.contact = MockContact(tel={ 'type': '', 'value': self.phone_number }) self.UTILS.general.insertContact(self.contact) self.UTILS.reporting.logComment("Using target telephone number " + self.contact["tel"]["value"]) self.data_layer.delete_all_sms() def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch contacts app. self.contacts.launch() # View the details of our contact. self.contacts.view_contact(self.contact['name']) # Tap the sms button in the view details screen to go to the sms page. smsBTN = self.UTILS.element.getElement(DOM.Contacts.sms_button, "Send SMS button") smsBTN.tap() time.sleep(2) self.marionette.switch_to_frame() self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() # Wait for the last message in this thread to be a 'received' one. returnedSMS = self.messages.wait_for_message(send_time=send_time) self.UTILS.test.test(returnedSMS, "A received message appeared in the thread.", True) self.messages.check_last_message_contents(self.test_msg) # Examine the carrier. expect = self.contact["tel"]["type"] actual = self.messages.threadType() self.UTILS.test.test(expect == actual, "The type is listed as: '{}' (subheader was '{}').".\ format(expect, actual)) # Phone Number is shown instead of carrier as the secondary header expect = self.contact["tel"]["value"] actual = self.messages.threadCarrier() self.UTILS.test.test(expect == actual, "The telephone number is: '{}' (subheader was '{}').".\ format(expect, actual))
class test_main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.contacts = Contacts(self) self.messages = Messages(self) tlf = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact = MockContact(tel={'type': 'Mobile', 'value': tlf}) self.num2 = "123456789" self.UTILS.general.insertContact(self.contact) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Create a thread for this contact. # (Just so we can switch to it later) self.messages.launch() self.messages.create_and_send_sms([self.contact["tel"]["value"]], "Test message") self.messages.wait_for_message() self.messages.go_back() self.messages.create_and_send_sms([self.num2], "Thread for a different number") self.apps.kill_all() time.sleep(2) self.UTILS.reporting.logResult( "info", "<b>If SMS app is closed when you click 'send sms' in contacts ...</b>" ) self._doTest() self.apps.kill_all() time.sleep(2) self.messages.launch() self.UTILS.reporting.logResult( "info", "<b>If SMS app is still open when you click 'send sms' in contacts ...</b>" ) self.messages.openThread(self.num2) self._doTest() def _doTest(self): # Launch contacts app etc... self.contacts.launch() self.contacts.view_contact(self.contact['name'], False) smsBTN = self.UTILS.element.getElement(DOM.Contacts.sms_button, "Send SMS button") smsBTN.tap() # Switch to sms frame and complete the tests + send the message. time.sleep(5) self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) self.UTILS.reporting.logResult( "info", "<b>NOTE: </b>expecting to be in a 'compose new sms' screen (not a thread) ..." ) self.messages.enterSMSMsg("Test msg.") self.messages.sendSMS() # Verify that we are now in the thread for this contact. self.UTILS.reporting.logResult( "info", "<b>NOTE: </b> expecting to be automatically taken to the thread for '{}' ..." .format(self.contact['name'])) msg_count = self.UTILS.element.getElements(DOM.Messages.message_list, "Thread messages", False, 5, False) if msg_count: self.UTILS.test.test( len(msg_count) > 1, "There are <i>some</i> messages in this thread already.") else: self.UTILS.reporting.logResult( False, "There are <i>some</i> messages in this thread already.")
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.test_msg = "Hello World" # Establish which phone number to use. num1 = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact1 = MockContact(givenName="Name 1", familyName="Surname 1", name="Name 1 Surname 1", tel={ "type": "Mobile", "value": num1 }) self.UTILS.reporting.logComment("Using target telephone number " + self.contact1["tel"]["value"]) self.UTILS.general.insertContact(self.contact1) num2 = self.UTILS.general.get_config_variable("incoming_call_number", "common") self.contact2 = MockContact(givenName="Name 3", familyName="Surname 3", name="Name 3 Surname 3", tel={ "type": "Mobile", "value": num2 }) self.UTILS.reporting.logComment("Using target telephone number " + self.contact2["tel"]["value"]) self.UTILS.general.insertContact(self.contact2) self.data_layer.delete_all_sms() self.UTILS.statusbar.clearAllStatusBarNotifs() self.test_nums = [ self.contact1["tel"]["value"], self.contact2["tel"]["value"] ] def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone numbers in the To field for num in self.test_nums: self.messages.addNumbersInToField([num]) # Create MMS. self.messages.enterSMSMsg(self.test_msg) # Add an image file self.UTILS.general.add_file_to_device('./tests/_resources/80x60.jpg') self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # Click send and wait for the message to be received self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() self.messages.closeThread() self.messages.openThread(self.contact1["name"]) self.messages.wait_for_message(send_time=send_time) # Obtaining file attached type img_type = self.UTILS.element.getElement( DOM.Messages.attach_preview_img_type, "preview type") typ = img_type.get_attribute("data-attachment-type") if typ != "img": self.UTILS.test.test(False, "Incorrect file type. The file must be img ") self.messages.closeThread() # Check how many elements are there self.UTILS.reporting.logResult("info", "Check how many threads are there") original_count = self.messages.countNumberOfThreads() self.UTILS.reporting.logResult( "info", "Number of threads {} in list.".format(original_count)) self.UTILS.test.test(original_count == 2, "Check how many threads are there")
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) # Import some contacts. # Set the one we'll match to have a valid phone number. self.contact_1 = MockContact(tel={"type": "Mobile", "value": self.UTILS.general.get_config_variable("phone_number", "custom")}) self.contact_2 = MockContact() self.contact_3 = MockContact(givenName="AAAAAAAAAAAAAAAALEX", familyName="SMITHXXXXXXXX", name="AAAAAAAAAAAAAAAALEX SMITHXXXXXXXX") self.contact_4 = MockContact(tel=[{"type": "Mobile 1", "carrier": "MoviStar1", "value": "444444444"}, {"type": "Mobile 2", "carrier": "MoviStar2", "value": "555555555"}, {"type": "Mobile 3", "carrier": "MoviStar3", "value": "666666666"}]) self.contact_5 = MockContact(email=[{"type": "", "value": "*****@*****.**"}, {"type": "", "value": "*****@*****.**"}, {"type": "", "value": "*****@*****.**"}]) # Set a couple of them to be favorites (including the one we'll use). self.contact_1["category"] = "favorite" self.contact_2["category"] = "favorite" # Insert all the contacts. self.UTILS.general.insertContact(self.contact_1) self.UTILS.general.insertContact(self.contact_2) self.UTILS.general.insertContact(self.contact_3) self.UTILS.general.insertContact(self.contact_4) self.UTILS.general.insertContact(self.contact_5) self.UTILS.reporting.logComment("Using target telephone number " + self.contact_1["tel"]["value"]) self.test_msg = "Test message at {}".format(time.time()) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch messages app. self.messages.launch() # Type a message containing the required string self.messages.startNewSMS() self.messages.enterSMSMsg(self.test_msg) # Search for our contact in the favourites section. self.messages.selectAddContactButton() self.UTILS.reporting.debug("*** Looking for contact named {}".format(self.contact_1['givenName'])) self.UTILS.iframe.switch_to_frame(*DOM.Contacts.frame_locator) cont = self.UTILS.element.getElement((DOM.Contacts.favourite_by_name[0], DOM.Contacts.favourite_by_name[1].format(self.contact_1['givenName'])), "Favourite contact", timeout=20) cont.tap() self.UTILS.iframe.switch_to_frame(*DOM.Messages.frame_locator) # Now check the correct name is in the 'To' list. self.messages.checkIsInToField(self.contact_1["name"]) self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() self.messages.wait_for_message(send_time=send_time) self.messages.check_last_message_contents(self.test_msg)
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) self.gallery = Gallery(self) # Import contact (adjust to the correct number). self.test_num = self.UTILS.general.get_config_variable( "phone_number", "custom") self.cont = MockContact(tel={"type": "Mobile", "value": self.test_num}) self.UTILS.reporting.logComment("Using target telephone number " + self.cont["tel"]["value"]) def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.UTILS.general.add_file_to_device('./tests/_resources/imgd.jpg') # Launch messages app. self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone number in the To field self.messages.addNumbersInToField([self.test_num]) # Create MMS. self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # Click send and wait for the message to be received self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() """ Open contacts app and create a contact with the same phone number used to send the MMS in the previous step """ self.contacts.launch() self.contacts.create_contact(self.cont) # Switch back to the messages app. self.UTILS.home.goHome() self.messages.launch() # Verify the thread now contains the name of the contact instead of the phone number self.UTILS.reporting.logComment( "Trying to open the thread with name: " + self.cont["name"]) self.messages.openThread(self.cont["name"]) self.messages.wait_for_message(send_time)
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) # Import contact (adjust to the correct number). self.test_num = self.UTILS.general.get_config_variable( "phone_number", "custom") self.contact1 = MockContact(givenName="Name 1", familyName="Surname 1", name="Name 1 Surname 1", tel={ "type": "Mobile", "value": self.test_num }) self.UTILS.reporting.logComment("Using target telephone number " + self.contact1["tel"]["value"]) self.UTILS.general.insertContact(self.contact1) self.call_number = self.UTILS.general.get_config_variable( "incoming_call_number", "common") self.data_layer.delete_all_sms() self.UTILS.statusbar.clearAllStatusBarNotifs() _ = setup_translations(self) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() self.messages.startNewSMS() self.messages.addContactToField(self.contact1["name"]) # Insert the phone number in the To field self.messages.addNumbersInToField([self.call_number]) search_str = _("2 recipients") self.UTILS.element.headerCheck(search_str) # Enter the message. self.UTILS.reporting.logResult("info", "Enter the message.") self.messages.enterSMSMsg("Test 29911") # Send the message. self.messages.sendSMS() self.UTILS.statusbar.wait_for_notification_toaster_title( self.contact1["name"]) self.UTILS.iframe.switch_to_frame(*DOM.Messages.frame_locator) # Verify the number is shown in the header as there is no contact name self.messages.openThread(self.call_number) self.messages.checkThreadHeader(self.call_number) self.UTILS.reporting.logResult( "info", "Verify the number is shown in the header as there is no contact name" ) # Return to main SMS page. self.messages.closeThread() # Verify the thread now contains the name of the contact instead of the phone number self.UTILS.reporting.logResult( "info", "Trying to open the thread with name: " + self.contact1["name"]) self.messages.openThread(self.contact1["name"]) self.messages.checkThreadHeaderWithNameSurname(self.contact1["name"])
class test_main(GaiaTestCase): test_msg = "Test." def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.contacts = Contacts(self) self.messages = Messages(self) # Prepare the contact we're going to insert. self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact = MockContact(tel={'type': '', 'value': self.phone_number}) self.UTILS.general.insertContact(self.contact) self.UTILS.reporting.logComment("Using target telephone number " + self.contact["tel"]["value"]) self.data_layer.delete_all_sms() def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch contacts app. self.contacts.launch() # View the details of our contact. self.contacts.view_contact(self.contact['name']) # Tap the sms button in the view details screen to go to the sms page. smsBTN = self.UTILS.element.getElement(DOM.Contacts.sms_button, "Send SMS button") smsBTN.tap() time.sleep(2) self.marionette.switch_to_frame() self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) # Create SMS. self.messages.enterSMSMsg(self.test_msg) # Click send. self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() # Wait for the last message in this thread to be a 'received' one. returnedSMS = self.messages.wait_for_message(send_time=send_time) self.UTILS.test.test(returnedSMS, "A received message appeared in the thread.", True) self.messages.check_last_message_contents(self.test_msg) # Examine the carrier. expect = self.contact["tel"]["type"] actual = self.messages.threadType() self.UTILS.test.test(expect == actual, "The type is listed as: '{}' (subheader was '{}').".\ format(expect, actual)) # Phone Number is shown instead of carrier as the secondary header expect = self.contact["tel"]["value"] actual = self.messages.threadCarrier() self.UTILS.test.test(expect == actual, "The telephone number is: '{}' (subheader was '{}').".\ format(expect, actual))
class test_main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.contacts = Contacts(self) self.messages = Messages(self) tlf = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact = MockContact(tel={'type': 'Mobile', 'value': tlf}) self.num2 = "123456789" self.UTILS.general.insertContact(self.contact) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Create a thread for this contact. # (Just so we can switch to it later) self.messages.launch() self.messages.create_and_send_sms([self.contact["tel"]["value"]], "Test message") self.messages.wait_for_message() self.messages.go_back() self.messages.create_and_send_sms([self.num2], "Thread for a different number") self.apps.kill_all() time.sleep(2) self.UTILS.reporting.logResult("info", "<b>If SMS app is closed when you click 'send sms' in contacts ...</b>") self._doTest() self.apps.kill_all() time.sleep(2) self.messages.launch() self.UTILS.reporting.logResult( "info", "<b>If SMS app is still open when you click 'send sms' in contacts ...</b>") self.messages.openThread(self.num2) self._doTest() def _doTest(self): # Launch contacts app etc... self.contacts.launch() self.contacts.view_contact(self.contact['name'], False) smsBTN = self.UTILS.element.getElement(DOM.Contacts.sms_button, "Send SMS button") smsBTN.tap() # Switch to sms frame and complete the tests + send the message. time.sleep(5) self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) self.UTILS.reporting.logResult( "info", "<b>NOTE: </b>expecting to be in a 'compose new sms' screen (not a thread) ...") self.messages.enterSMSMsg("Test msg.") self.messages.sendSMS() # Verify that we are now in the thread for this contact. self.UTILS.reporting.logResult("info", "<b>NOTE: </b> expecting to be automatically taken to the thread for '{}' ...". format(self.contact['name'])) msg_count = self.UTILS.element.getElements(DOM.Messages.message_list, "Thread messages", False, 5, False) if msg_count: self.UTILS.test.test(len(msg_count) > 1, "There are <i>some</i> messages in this thread already.") else: self.UTILS.reporting.logResult(False, "There are <i>some</i> messages in this thread already.")
class test_main(GaiaTestCase): test_msg = "Welcome to the September Checkpoint. See this: https://www.youtube.com/watch?v=jAHlQ77lm10" video_container_locator = (By.CSS_SELECTOR, 'div[style^="background-image"]') video_element_locator = (By.TAG_NAME, 'video') def setUp(self): # # Set up child objects... # GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.browser = Browser(self) self.phone_number = self.UTILS.general.get_config_variable("phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) self.data_layer.connect_to_cell_data() def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # # Load files into the device. # self.UTILS.general.addFileToDevice('./tests/_resources/300x300.png', destination='DCIM/100MZLLA') # # Launch messages app. # self.messages.launch() # # Create a new SMS # self.messages.startNewSMS() # # Insert the phone number in the To field # self.messages.addNumbersInToField([self.phone_number]) # # Create MMS. # self.messages.enterSMSMsg(self.test_msg) self.messages.createMMSImage() self.gallery.clickThumbMMS(0) # # Click send and wait for the message to be received # self.messages.sendSMS() self.UTILS.statusbar.wait_for_notification_toaster_detail(self.test_msg, timeout=120) self.UTILS.statusbar.click_on_notification_detail(self.test_msg, DOM.Messages.frame_locator) text = self.UTILS.element.getElement(DOM.Messages.last_message_mms_text, "Message text").text last_msg = self.messages.lastMessageInThisThread() self.UTILS.element.scroll_into_view(last_msg) self.UTILS.test.TEST(text == self.test_msg, u"[{}] received. Expected [{}]".format(text, self.test_msg), True) url = self.marionette.find_element("css selector", "a[data-url*=youtube]", id=last_msg.id) url.tap() # # Tap the video container # self.UTILS.iframe.switchToFrame(*DOM.Browser.frame_locator) self.browser.switch_to_content() self.wait_for_element_present(*self.video_container_locator, timeout=30) self.marionette.find_element(*self.video_container_locator).tap() # # Wait HTML5 player appear # self.wait_for_element_present(*self.video_element_locator, timeout=30) video = self.marionette.find_element(*self.video_element_locator) # # Check that video is playing # time.sleep(5) player = HTML5Player(self.marionette, video) player.wait_for_video_loaded() self.assertTrue(player.is_video_playing())
class test_main(GaiaTestCase): test_msg = "Hello World {}".format(time.time()) def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.music = Music(self) self.video = Video(self) # Establish which phone number to use. self.phone_number = self.UTILS.general.get_config_variable( "phone_number", "custom") self.UTILS.reporting.logComment("Sending mms to telephone number " + self.phone_number) self.data_layer.delete_all_sms() self.UTILS.statusbar.clearAllStatusBarNotifs() self.expected_sizes = ["4.8", "62.3", "175.6"] self.expected_names = ["80x60.jpg", "30k_basic_AMR.amr", "mpeg4.3gp"] self.UTILS.general.add_file_to_device('./tests/_resources/80x60.jpg') self.UTILS.general.add_file_to_device( './tests/_resources/30k_basic_AMR.amr') self.UTILS.general.add_file_to_device('./tests/_resources/mpeg4.mp4') def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() self.messages.startNewSMS() self.messages.addNumbersInToField([self.phone_number]) self.messages.enterSMSMsg(self.test_msg) self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) self.messages.create_mms_music() self.music.click_on_song_mms() self.messages.create_mms_video() self.video.click_on_video_at_position_mms(0) # Click send and wait for the message to be received self.messages.sendSMS() last_msg = self.messages.wait_for_message() attachments = self.messages.get_mms_attachments_info(last_msg) self.UTILS.reporting.debug("*** ATTACHMENTS: {}".format(attachments)) # Check the names and sizes of all attachments are as expected for (i, att) in enumerate(attachments): self.UTILS.test.test(self.expected_names[i] == att["name"] and self.expected_sizes[i] == att["size"], "Attachment [{}] ({}kb) Expected [{}] ({}kb)".\ format(self.expected_names[i], self.expected_sizes[i], att["name"], att["size"]))
class test_main(GaiaTestCase): def setUp(self): GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.contacts = Contacts(self) self.messages = Messages(self) # Establish which phone number to use and set up the contacts. self.nums = [ self.UTILS.general.get_config_variable("phone_number", "custom"), self.UTILS.general.get_config_variable("short_phone_number", "custom") ] self.test_contacts = [ MockContact(tel={ 'type': 'Mobile', 'value': self.nums[i] }) for i in range(2) ] map(self.UTILS.general.insertContact, self.test_contacts) self.data_layer.delete_all_sms() def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.UTILS.statusbar.clearAllStatusBarNotifs() # Now create and send a SMS to both contacts. self.messages.launch() self.messages.startNewSMS() for i in range(len(self.test_contacts)): self.messages.selectAddContactButton() self.UTILS.iframe.switchToFrame(*DOM.Contacts.frame_locator) self.contacts.view_contact(self.test_contacts[i]["name"], False) self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) self.messages.checkIsInToField(self.test_contacts[i]["name"], True) test_msg = "Test message." self.messages.enterSMSMsg(test_msg) self.messages.sendSMS() # Since the destination number is the own, we will only receive one message, so we check it once self.UTILS.statusbar.wait_for_notification_toaster_detail(test_msg, timeout=120) self.UTILS.iframe.switchToFrame(*DOM.Messages.frame_locator) # We will also check there is one thread for each contact in the To field name_xpath = DOM.Messages.thread_selector_xpath.format( self.test_contacts[0]['name']) thread = self.UTILS.element.getElementByXpath(name_xpath) self.UTILS.test.test( thread, "Thread for {} found".format(self.test_contacts[0]['name'])) name_xpath = DOM.Messages.thread_selector_xpath.format( self.test_contacts[1]['name']) thread = self.UTILS.element.getElementByXpath(name_xpath) self.UTILS.test.test( thread, "Thread for {} found".format(self.test_contacts[1]['name']))
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.gallery = Gallery(self) self.test_msg = "Hello World" # Establish which phone number to use. num1 = self.UTILS.general.get_config_variable("phone_number", "custom") self.contact1 = MockContact(givenName="Name 1", familyName="Surname 1", name="Name 1 Surname 1", tel={"type": "Mobile", "value": num1}) self.UTILS.reporting.logComment("Using target telephone number " + self.contact1["tel"]["value"]) self.UTILS.general.insertContact(self.contact1) num2 = self.UTILS.general.get_config_variable("incoming_call_number", "common") self.contact2 = MockContact(givenName="Name 3", familyName="Surname 3", name="Name 3 Surname 3", tel={"type": "Mobile", "value": num2}) self.UTILS.reporting.logComment("Using target telephone number " + self.contact2["tel"]["value"]) self.UTILS.general.insertContact(self.contact2) self.data_layer.delete_all_sms() self.UTILS.statusbar.clearAllStatusBarNotifs() self.test_nums = [self.contact1["tel"]["value"], self.contact2["tel"]["value"]] def tearDown(self): self.UTILS.general.remove_files() self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): self.messages.launch() # Create a new SMS self.messages.startNewSMS() # Insert the phone numbers in the To field for num in self.test_nums: self.messages.addNumbersInToField([num]) # Create MMS. self.messages.enterSMSMsg(self.test_msg) # Add an image file self.UTILS.general.add_file_to_device('./tests/_resources/80x60.jpg') self.messages.create_mms_image() self.gallery.click_on_thumbnail_at_position_mms(0) # Click send and wait for the message to be received self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() self.messages.closeThread() self.messages.openThread(self.contact1["name"]) self.messages.wait_for_message(send_time=send_time) # Obtaining file attached type img_type = self.UTILS.element.getElement(DOM.Messages.attach_preview_img_type, "preview type") typ = img_type.get_attribute("data-attachment-type") if typ != "img": self.UTILS.test.test(False, "Incorrect file type. The file must be img ") self.messages.closeThread() # Check how many elements are there self.UTILS.reporting.logResult("info", "Check how many threads are there") original_count = self.messages.countNumberOfThreads() self.UTILS.reporting.logResult("info", "Number of threads {} in list.".format(original_count)) self.UTILS.test.test(original_count == 2, "Check how many threads are there")
class test_main(GaiaTestCase): def setUp(self): # Set up child objects... GaiaTestCase.setUp(self) self.UTILS = UTILS(self) self.messages = Messages(self) self.contacts = Contacts(self) # Import some contacts. # Set the one we'll match to have a valid phone number. self.contact_1 = MockContact( tel={ "type": "Mobile", "value": self.UTILS.general.get_config_variable("phone_number", "custom") }) self.contact_2 = MockContact() self.contact_3 = MockContact(givenName="AAAAAAAAAAAAAAAALEX", familyName="SMITHXXXXXXXX", name="AAAAAAAAAAAAAAAALEX SMITHXXXXXXXX") self.contact_4 = MockContact(tel=[{ "type": "Mobile 1", "carrier": "MoviStar1", "value": "444444444" }, { "type": "Mobile 2", "carrier": "MoviStar2", "value": "555555555" }, { "type": "Mobile 3", "carrier": "MoviStar3", "value": "666666666" }]) self.contact_5 = MockContact(email=[{ "type": "", "value": "*****@*****.**" }, { "type": "", "value": "*****@*****.**" }, { "type": "", "value": "*****@*****.**" }]) # Set a couple of them to be favorites (including the one we'll use). self.contact_1["category"] = "favorite" self.contact_2["category"] = "favorite" # Insert all the contacts. self.UTILS.general.insertContact(self.contact_1) self.UTILS.general.insertContact(self.contact_2) self.UTILS.general.insertContact(self.contact_3) self.UTILS.general.insertContact(self.contact_4) self.UTILS.general.insertContact(self.contact_5) self.UTILS.reporting.logComment("Using target telephone number " + self.contact_1["tel"]["value"]) self.test_msg = "Test message at {}".format(time.time()) def tearDown(self): self.UTILS.reporting.reportResults() GaiaTestCase.tearDown(self) def test_run(self): # Launch messages app. self.messages.launch() # Type a message containing the required string self.messages.startNewSMS() self.messages.enterSMSMsg(self.test_msg) # Search for our contact in the favourites section. self.messages.selectAddContactButton() self.UTILS.reporting.debug("*** Looking for contact named {}".format( self.contact_1['givenName'])) self.UTILS.iframe.switch_to_frame(*DOM.Contacts.frame_locator) cont = self.UTILS.element.getElement( (DOM.Contacts.favourite_by_name[0], DOM.Contacts.favourite_by_name[1].format( self.contact_1['givenName'])), "Favourite contact", timeout=20) cont.tap() self.UTILS.iframe.switch_to_frame(*DOM.Messages.frame_locator) # Now check the correct name is in the 'To' list. self.messages.checkIsInToField(self.contact_1["name"]) self.messages.sendSMS() send_time = self.messages.last_sent_message_timestamp() self.messages.wait_for_message(send_time=send_time) self.messages.check_last_message_contents(self.test_msg)