class TestCardsViewTwoApps(GaiaTestCase): _test_apps = ["Clock", "Gallery"] def setUp(self): GaiaTestCase.setUp(self) self.cards_view = CardsView(self.marionette) # Launch the test apps for app in self._test_apps: self.apps.launch(app) # Let's wait a bit for the app to fully launch time.sleep(2) def test_kill_app_from_cards_view(self): """https://moztrap.mozilla.org/manage/case/1917/""" # Pull up the cards view self.device.hold_home_button() self.cards_view.wait_for_cards_view() # Close the current apps from the cards view self.cards_view.close_app(self._test_apps[1]) self.cards_view.close_app(self._test_apps[0]) # If successfully killed, the apps should no longer appear in the cards view and the "No recent apps" message should be displayed self.assertFalse(self.cards_view.is_app_present(self._test_apps[1]), "Killed app not expected to appear in cards view") self.assertFalse(self.cards_view.is_app_present(self._test_apps[0]), "Killed app not expected to appear in cards view")
class TestCardsView(GaiaTestCase): _app_under_test = "Clock" def setUp(self): GaiaTestCase.setUp(self) self.cards_view = CardsView(self.marionette) # Launch the Clock app as a basic, reliable # app to test against in Cards View self.app = self.apps.launch(self._app_under_test) def test_kill_app_from_cards_view(self): # https://moztrap.mozilla.org/manage/case/1917/ # Switch to top level frame before dispatching the event self.marionette.switch_to_frame() # Pull up the cards view self.cards_view.open_cards_view() # Close the current app from cards view self.cards_view.close_app(self._app_under_test) self.marionette.switch_to_frame() # Pull up the cards view again self.cards_view.open_cards_view() # If successfully killed, the app should no longer appear in the cards view. self.assertFalse(self.cards_view.is_app_present(self._app_under_test), "Killed app not expected to appear in cards view")
class TestCardsViewTwoApps(GaiaImageCompareTestCase): _test_apps = ["Contacts", "Gallery"] def setUp(self): GaiaImageCompareTestCase.setUp(self) self.cards_view = CardsView(self.marionette) # Launch the test apps for app in self._test_apps: self.apps.launch(app) # 10 seconds for the actual user using the app a bit, and going back to homescreen time.sleep(10) self.device.touch_home_button() def test_cards_view_kill_apps_with_two_apps(self): """https://moztrap.mozilla.org/manage/case/1917/""" # Pull up the cards view self.device.hold_home_button() self.cards_view.wait_for_cards_view() # Wait for first app ready self.cards_view.wait_for_card_ready(self._test_apps[1]) self.take_screenshot() # Close the current apps from the cards view self.cards_view.close_app(self._test_apps[1]) self.take_screenshot() self.cards_view.close_app(self._test_apps[0]) self.take_screenshot() # If successfully killed, the apps should no longer appear in the cards view # and the "No recent apps" message should be displayed self.assertFalse(self.cards_view.is_app_present(self._test_apps[1]), "Killed app not expected to appear in cards view") self.assertFalse(self.cards_view.is_app_present(self._test_apps[0]), "Killed app not expected to appear in cards view")
class TestCardsViewTwoApps(GaiaTestCase): _test_apps = ["Clock", "Gallery"] def setUp(self): GaiaTestCase.setUp(self) self.cards_view = CardsView(self.marionette) # Launch the test apps for app in self._test_apps: self.apps.launch(app) def test_kill_app_from_cards_view(self): # https://moztrap.mozilla.org/manage/case/1917/ # Switch to top level frame before dispatching the event self.marionette.switch_to_frame() # Pull up the cards view self.cards_view.open_cards_view() # Close the current apps from the cards view self.cards_view.close_app(self._test_apps[1]) self.cards_view.close_app(self._test_apps[0]) self.marionette.switch_to_frame() # Pull up the cards view again self.cards_view.open_cards_view() # If successfully killed, the apps should no longer appear in the cards view and the "No recent apps" message should be displayed self.assertFalse(self.cards_view.is_app_present(self._test_apps[1]), "Killed app not expected to appear in cards view") self.assertFalse(self.cards_view.is_app_present(self._test_apps[0]), "Killed app not expected to appear in cards view") self.assertEqual(self.cards_view.no_recent_apps_message, "No recent apps")
class TestCardsViewTwoApps(GaiaTestCase): _test_apps = ["Clock", "Gallery"] def setUp(self): GaiaTestCase.setUp(self) self.cards_view = CardsView(self.marionette) # Launch the test apps for app in self._test_apps: self.apps.launch(app) def test_kill_app_from_cards_view(self): # https://moztrap.mozilla.org/manage/case/1917/ # Switch to top level frame before dispatching the event self.marionette.switch_to_frame() # Pull up the cards view self.cards_view.open_cards_view() # Close the current apps from the cards view self.cards_view.close_app(self._test_apps[1]) self.cards_view.close_app(self._test_apps[0]) self.marionette.switch_to_frame() # Pull up the cards view again self.cards_view.open_cards_view() # If successfully killed, the apps should no longer appear in the cards view and the "No recent apps" message should be displayed self.assertFalse(self.cards_view.is_app_present(self._test_apps[1]), "Killed app not expected to appear in cards view") self.assertFalse(self.cards_view.is_app_present(self._test_apps[0]), "Killed app not expected to appear in cards view") self.assertEqual(self.cards_view.no_recent_apps_message, "No recent apps")
def test_sms_auto_save_draft(self): """ https://moztrap.mozilla.org/manage/case/7806/ """ _text_message_content = "Automated Test %s" % str(time.time()) # launch messages app messages = Messages(self.marionette) messages.launch() # click new message new_message = messages.tap_create_new_message() self.marionette.switch_to_frame() Wait(self.marionette).until( lambda m: new_message.keyboard.is_keyboard_displayed) self.apps.switch_to_displayed_app() new_message.type_message(_text_message_content) self.assertEqual(new_message.message, _text_message_content) # close message app and leave cards view self.device.hold_home_button() from gaiatest.apps.system.regions.cards_view import CardsView cards_view = CardsView(self.marionette) cards_view.wait_for_cards_view() # wait for first app ready cards_view.wait_for_card_ready('sms') cards_view.close_app('sms') self.assertFalse(cards_view.is_app_present('sms'), "Killed app not expected to appear in cards view") # wait for homescreen to be displayed self.wait_for_condition( lambda m: self.apps.displayed_app.name == Homescreen.name) # re-open messages app messages.launch() self.assertTrue(messages.draft_message[0].is_draft_icon_displayed) new_message = messages.draft_message[0].tap_draft_message() # check that last message draft is shown correctly self.assertEqual(new_message.message, _text_message_content)
def test_that_app_can_be_launched_from_cards_view(self): """https://moztrap.mozilla.org/manage/case/2462/""" cards_view = CardsView(self.marionette) self.assertFalse(cards_view.is_cards_view_displayed, 'Cards view not expected to be visible') # Pull up the cards view self.device.hold_home_button() cards_view.wait_for_cards_view() for app in self._test_apps: self.assertTrue(cards_view.is_app_present(app), '%s app should be present in cards view' % app) cards_view.swipe_to_previous_app() cards_view.tap_app(self._test_apps[0]) cards_view.wait_for_cards_view_not_displayed() self.assertEqual(self.apps.displayed_app.name, self._test_apps[0])
def test_sms_auto_save_draft(self): """ https://moztrap.mozilla.org/manage/case/7806/ """ _text_message_content = "Automated Test %s" % str(time.time()) # launch messages app messages = Messages(self.marionette) messages.launch() # click new message new_message = messages.tap_create_new_message() self.marionette.switch_to_frame() Wait(self.marionette).until(lambda m: new_message.keyboard.is_keyboard_displayed) self.apps.switch_to_displayed_app() new_message.type_message(_text_message_content) self.assertEqual(new_message.message, _text_message_content) # close message app and leave cards view self.device.hold_home_button() from gaiatest.apps.system.regions.cards_view import CardsView cards_view = CardsView(self.marionette) cards_view.wait_for_cards_view() # wait for first app ready cards_view.wait_for_card_ready('sms') cards_view.close_app('sms') self.assertFalse(cards_view.is_app_present('sms'), "Killed app not expected to appear in cards view") # wait for homescreen to be displayed Homescreen(self.marionette).wait_to_be_displayed() # re-open messages app messages.launch() self.assertTrue(messages.draft_threads[0].is_draft_icon_displayed) new_message = messages.draft_threads[0].open() # check that last message draft is shown correctly self.assertEqual(new_message.message, _text_message_content)
class TestCardsViewThreeApps(GaiaTestCase): _test_apps = ["Clock", "Gallery", "Calendar"] def setUp(self): GaiaTestCase.setUp(self) self.cards_view = CardsView(self.marionette) # Launch the test apps for app in self._test_apps: self.apps.launch(app) def test_kill_app_from_cards_view(self): # https://moztrap.mozilla.org/manage/case/1917/ # Switch to top level frame before dispatching the event self.marionette.switch_to_frame() # Pull up the cards view self.cards_view.open_cards_view() # Close the current app from the cards view self.cards_view.close_app(self._test_apps[2]) self.marionette.switch_to_frame() # Pull up the cards view again self.cards_view.open_cards_view() # If successfully killed, the app should no longer appear in the cards view. self.assertFalse(self.cards_view.is_app_present(self._test_apps[2]), "Killed app not expected to appear in cards view") # Check if the remaining 2 apps are visible in the cards view self.assertTrue(self.cards_view.is_app_displayed(self._test_apps[0]), "First opened app should be visible in cards view") self.assertTrue(self.cards_view.is_app_displayed(self._test_apps[1]), "Second app opened should be visible in cards view")
class TestCardsViewThreeApps(GaiaTestCase): _test_apps = ["Clock", "Gallery", "Calendar"] def setUp(self): GaiaTestCase.setUp(self) self.cards_view = CardsView(self.marionette) # Launch the test apps for app in self._test_apps: self.apps.launch(app) def test_kill_app_from_cards_view(self): # https://moztrap.mozilla.org/manage/case/1917/ # Switch to top level frame before dispatching the event self.marionette.switch_to_frame() # Pull up the cards view self.cards_view.open_cards_view() # Close the current app from the cards view self.cards_view.close_app(self._test_apps[2]) self.marionette.switch_to_frame() # Pull up the cards view again self.cards_view.open_cards_view() # If successfully killed, the app should no longer appear in the cards view. self.assertFalse(self.cards_view.is_app_present(self._test_apps[2]), "Killed app not expected to appear in cards view") # Check if the remaining 2 apps are visible in the cards view self.assertTrue(self.cards_view.is_app_displayed(self._test_apps[0]), "First opened app should be visible in cards view") self.assertTrue(self.cards_view.is_app_displayed(self._test_apps[1]), "Second app opened should be visible in cards view")
class TestCardsView(GaiaTestCase): _app_under_test = "Clock" _clock_frame_locator = (By.CSS_SELECTOR, "iframe[mozapp^='app://clock'][mozapp$='manifest.webapp']") def setUp(self): GaiaTestCase.setUp(self) self.cards_view = CardsView(self.marionette) # Launch the Clock app as a basic, reliable # app to test against in Cards View self.app = self.apps.launch(self._app_under_test) def test_cards_view(self): # https://moztrap.mozilla.org/manage/case/1909/ # Switch to top level frame before dispatching the event self.marionette.switch_to_frame() # Check that cards view is not displayed self.assertFalse(self.cards_view.is_cards_view_displayed, "Cards view not expected to be visible") # Pull up the cards view self.cards_view.open_cards_view() self.assertTrue(self.cards_view.is_app_displayed(self._app_under_test), "%s app expected to be visible in cards view" % self._app_under_test) self.cards_view.exit_cards_view() def test_that_app_can_be_launched_from_cards_view(self): # https://github.com/mozilla/gaia-ui-tests/issues/98 # Switch to top level frame before dispatching the event self.marionette.switch_to_frame() # Find the cards frame html element clock_frame = self.marionette.find_element(*self._clock_frame_locator) # Pull up the cards view self.cards_view.open_cards_view() self.assertFalse(clock_frame.is_displayed(), "Clock frame not expected to be displayed") # Launch the app from the cards view self.cards_view.tap_app(self._app_under_test) self.cards_view.wait_for_cards_view_not_displayed() self.assertTrue(clock_frame.is_displayed(), "Clock frame expected to be displayed") def test_kill_app_from_cards_view(self): # https://moztrap.mozilla.org/manage/case/1917/ # Switch to top level frame before dispatching the event self.marionette.switch_to_frame() # Pull up the cards view self.cards_view.open_cards_view() # Close the current app from cards view self.cards_view.close_app(self._app_under_test) self.marionette.switch_to_frame() # Pull up the cards view again self.cards_view.open_cards_view() # If successfully killed, the app should no longer appear in the cards view. self.assertFalse(self.cards_view.is_app_present(self._app_under_test), "Killed app not expected to appear in cards view")