コード例 #1
0
    def test_search_and_install_app(self):

        marketplace = Marketplace(self.marionette)
        marketplace.launch()

        results = marketplace.search(self.app_search)
        first_result = results.search_results[0]
        app_name = first_result.get_app_name()
        first_result.tap_install_button()

        # Confirm the installation and wait for the app icon to be present
        confirm_install = ConfirmInstall(self.marionette)
        confirm_install.tap_confirm()

        self.assertEqual(self.apps.displayed_app.name, 'Marketplace')

        self.device.touch_home_button()

        # Check that the icon of the app is on the homescreen
        homescreen = Homescreen(self.marionette)
        homescreen.wait_for_app_icon_present(app_name)

        installed_app = homescreen.installed_app(app_name)
        installed_app.tap_icon()

        Wait(self.marionette).until(lambda m: m.title == self.app_title)
    def test_search_and_install_app(self):
        marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        marketplace.launch()

        self.app_name = marketplace.popular_apps[0].name
        app_author = marketplace.popular_apps[0].author
        results = marketplace.search(self.app_name)

        self.assertGreater(len(results.search_results), 0, 'No results found.')

        first_result = results.search_results[0]

        self.assertEquals(first_result.name, self.app_name, 'First app has the wrong name.')
        self.assertEquals(first_result.author, app_author, 'First app has the wrong author.')

        # Find and click the install button to the install the web app
        self.assertEquals(first_result.install_button_text, 'Free', 'Incorrect button label.')

        first_result.tap_install_button()
        self.confirm_installation()
        self.APP_INSTALLED = True

        # Check that the icon of the app is on the homescreen
        self.marionette.switch_to_frame()
        homescreen_frame = self.marionette.find_element(*self._homescreen_iframe_locator)
        self.marionette.switch_to_frame(homescreen_frame)
        self.assertTrue(self.marionette.find_element('xpath', "//li[@class='icon']//span[text()='%s']" % self.app_name))
コード例 #3
0
    def test_marketplace_change_region_login(self):

        marketplace = Marketplace(self.marionette, 'Marketplace Dev')
        marketplace.launch()

        # login to marketplace
        settings = marketplace.login(self.user)

        # change region
        settings.select_region(self._REGION)

        # save changes
        settings.tap_save_changes()

        # wait for the changes to be saved
        marketplace.wait_for_notification_message_displayed()
        self.assertEqual(marketplace.notification_message, 'Settings saved')

        # go to home
        marketplace.tap_back()

        # go back to settings
        settings = marketplace.tap_settings()

        # check if the region is same as changed before
        self.assertEqual(settings.region, self._REGION)
コード例 #4
0
    def test_search_and_install_app(self):
        marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        marketplace.launch()

        self.app_name = marketplace.popular_apps[0].name
        app_author = marketplace.popular_apps[0].author
        results = marketplace.search(self.app_name)

        self.assertGreater(len(results.search_results), 0, 'No results found.')

        first_result = results.search_results[0]

        self.assertEquals(first_result.name, self.app_name, 'First app has the wrong name.')
        self.assertEquals(first_result.author, app_author, 'First app has the wrong author.')

        # Find and click the install button to the install the web app
        self.assertEquals(first_result.install_button_text, 'Free', 'Incorrect button label.')

        first_result.tap_install_button()
        self.confirm_installation()
        self.APP_INSTALLED = True

        # Check that the icon of the app is on the homescreen
        homescreen = Homescreen(self.marionette)
        homescreen.switch_to_homescreen_frame()

        self.assertTrue(homescreen.is_app_installed(self.app_name))
コード例 #5
0
    def test_add_review(self):

        marketplace = Marketplace(self.marionette, 'Marketplace dev')
        marketplace.launch()

        # Sign in
        settings = marketplace.tap_settings()
        persona = settings.tap_sign_in()
        persona.login(self.user.email, self.user.password)

        self.marionette.switch_to_frame()
        marketplace.launch()
        settings.wait_for_sign_out_button()

        # Search and select app
        results = marketplace.search('SoundCloud')
        self.assertGreater(len(results.search_results), 0, 'No results found.')
        details_page = results.search_results[0].tap_app()

        # Setting your default values for review
        current_time = str(time.time()).split('.')[0]
        rating = random.randint(1, 5)
        body = 'This is a test %s' % current_time

        # Adding the review
        review_box = details_page.tap_write_review()
        review_box.write_a_review(rating, body)

        marketplace.wait_for_notification_message_displayed()

        # Check if review was added correctly
        self.assertEqual(marketplace.notification_message,
                         "Your review was posted")
        self.assertEqual(details_page.first_review_rating, rating)
        self.assertEqual(details_page.first_review_body, body)
コード例 #6
0
    def test_marketplace_feedback_user(self):
        # launch marketplace dev and go to marketplace
        self.marketplace = Marketplace(self.marionette,
                                       self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()

        # wait for settings button to come out
        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()

        # sign in with persona
        persona = settings.tap_sign_in()
        persona.login(self.user.email, self.user.password)

        # switch back to Marketplace
        self.marionette.switch_to_frame()
        self.marketplace.launch()

        # go to feedback tab
        self.marketplace.select_setting_feedback()

        # enter and submit your feedback
        self.marketplace.enter_feedback(self.test_comment)
        self.marketplace.submit_feedback()

        # catch the notification
        self.marketplace.wait_for_notification_message_displayed()
        message_content = self.marketplace.notification_message

        # verify if the notification is right
        self.assertEqual(message_content, self.feedback_submitted_message)
コード例 #7
0
    def test_search_and_install_app(self):
        marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        marketplace.launch()

        results = marketplace.search(self.APP_NAME)

        # validate the first result is the official lanyrd mobile app
        self.assertGreater(len(results.search_results), 0, 'No results found.')

        first_result = results.search_results[0]

        self.assertEquals(first_result.name, self.APP_NAME, 'First app has the wrong name.')
        self.assertEquals(first_result.author, self.APP_DEVELOPER, 'First app has the wrong author.')

        # Find and click the install button to the install the web app
        self.assertEquals(first_result.install_button_text, 'Free', 'Incorrect button label.')

        first_result.tap_install_button()
        self.confirm_installation()
        self.APP_INSTALLED = True

        # Check that the icon of the app is on the homescreen
        self.marionette.switch_to_frame()
        homescreen_frame = self.marionette.find_element(*self._homescreen_iframe_locator)
        self.marionette.switch_to_frame(homescreen_frame)
        self.assertTrue(self.marionette.find_element(*self._app_icon_locator))
コード例 #8
0
    def test_search_and_install_app(self):
        marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        marketplace.launch()

        results = marketplace.search(self.APP_NAME)

        # validate the first result is the official lanyrd mobile app
        self.assertGreater(len(results.search_results), 0, 'No results found.')

        first_result = results.search_results[0]

        self.assertEquals(first_result.name, self.APP_NAME,
                          'First app has the wrong name.')
        self.assertEquals(first_result.author, self.APP_DEVELOPER,
                          'First app has the wrong author.')

        # Find and click the install button to the install the web app
        self.assertEquals(first_result.install_button_text, 'Free',
                          'Incorrect button label.')

        first_result.tap_install_button()
        self.confirm_installation()
        self.APP_INSTALLED = True

        # Check that the icon of the app is on the homescreen
        self.marionette.switch_to_frame()
        homescreen_frame = self.marionette.find_element(
            *self._homescreen_iframe_locator)
        self.marionette.switch_to_frame(homescreen_frame)
        self.assertTrue(self.marionette.find_element(*self._app_icon_locator))
コード例 #9
0
    def test_search_and_install_app(self):
        marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        marketplace.launch()

        self.app_name = marketplace.popular_apps[0].name
        app_author = marketplace.popular_apps[0].author
        results = marketplace.search(self.app_name)

        self.assertGreater(len(results.search_results), 0, 'No results found.')

        first_result = results.search_results[0]

        self.assertEquals(first_result.name, self.app_name, 'First app has the wrong name.')
        self.assertEquals(first_result.author, app_author, 'First app has the wrong author.')

        # Find and click the install button to the install the web app
        self.assertEquals(first_result.install_button_text, 'Free', 'Incorrect button label.')

        first_result.tap_install_button()
        self.confirm_installation()
        self.APP_INSTALLED = True

        # Check that the icon of the app is on the homescreen
        self.marionette.switch_to_frame()
        homescreen_frame = self.marionette.find_element(*self._homescreen_iframe_locator)
        self.marionette.switch_to_frame(homescreen_frame)
        self.assertTrue(self.marionette.find_element('xpath', "//li[@class='icon']//span[text()='%s']" % self.app_name))
コード例 #10
0
class TestMarketplaceLogin(GaiaTestCase):

    MARKETPLACE_DEV_NAME = 'Marketplace Dev'

    # Marketplace locators
    _settings_button_locator = ('css selector', 'a.header-button.settings')
    _sign_in_button_locator = ('css selector', 'a.button.browserid')
    _signed_in_notification_locator = ('id', 'notification')
    _sign_out_button_locator = ('css selector', 'a.button.logout')

    _email_account_field_locator = ('id', 'email')

    def setUp(self):
        GaiaTestCase.setUp(self)
        self.connect_to_network()
        self.install_marketplace()

        self.user = PersonaTestUser().create_user(
            verified=True,
            env={
                "browserid": "firefoxos.persona.org",
                "verifier": "marketplace-dev.allizom.org"
            })

        self.marketplace = Marketplace(self.marionette,
                                       self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()

    def test_login_marketplace(self):
        # https://moztrap.mozilla.org/manage/case/4134/

        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()
        persona = settings.tap_sign_in()

        persona.login(self.user.email, self.user.password)

        # switch back to Marketplace
        self.marionette.switch_to_frame()
        self.marketplace.launch()

        # tap on the signed-in notification at the bottom of the screen to dismiss it
        self.wait_for_element_displayed(*self._signed_in_notification_locator)
        self.marionette.tap(
            self.marionette.find_element(
                *self._signed_in_notification_locator))

        settings.wait_for_sign_out_button()

        # Verify that user is logged in
        self.assertEqual(self.user.email, settings.email)

        # Sign out, which should return to the Marketplace home screen
        settings.tap_sign_out()

        # Verify that user is signed out
        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()
        settings.wait_for_sign_in_displayed()
コード例 #11
0
    def test_marketplace_without_connectivity(self):
        marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        marketplace.launch()

        self.marionette.switch_to_frame()

        self.assertEqual(marketplace.error_title_text, self.expected_error_title)
        self.assertEqual(marketplace.error_message_text, self.expected_error_message)
コード例 #12
0
    def test_marketplace_without_connectivity(self):
        marketplace = Marketplace(self.marionette)
        marketplace.launch()

        # Switch to marketplace iframe
        marketplace.switch_to_marketplace_frame()

        self.assertEqual(marketplace.error_title_text, self.expected_error_title)
        self.assertEqual(marketplace.error_message_text, self.expected_error_message)
コード例 #13
0
    def test_marketplace_without_connectivity(self):
        marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        marketplace.launch()

        self.marionette.switch_to_frame()

        self.assertEqual(marketplace.error_title_text,
                         self.expected_error_title)
        self.assertEqual(marketplace.error_message_text,
                         self.expected_error_message)
コード例 #14
0
    def test_add_review(self):

        marketplace = Marketplace(self.marionette, 'Marketplace dev')
        marketplace.launch()

        # Sign in
        settings = marketplace.tap_settings()
        persona = settings.tap_sign_in()
        persona.login(self.user.email, self.user.password)

        self.marionette.switch_to_frame()
        marketplace.launch()
        settings.wait_for_sign_out_button()

        # Search and select app
        results = marketplace.search('SoundCloud')
        self.assertGreater(len(results.search_results), 0, 'No results found.')
        details_page = results.search_results[0].tap_app()

        # Setting your default values for review
        current_time = str(time.time()).split('.')[0]
        rating = random.randint(1, 5)
        body = 'This is a test %s' % current_time

        # Adding the review
        review_box = details_page.tap_write_review()
        review_box.write_a_review(rating, body)

        marketplace.wait_for_notification_message_displayed()

        # Check if review was added correctly
        self.assertEqual(marketplace.notification_message, "Your review was posted")
        self.assertEqual(details_page.first_review_rating, rating)
        self.assertEqual(details_page.first_review_body, body)
コード例 #15
0
class TestMarketplaceLogin(GaiaTestCase):

    MARKETPLACE_DEV_NAME = 'Marketplace Dev'

    # Marketplace locators
    _settings_button_locator = ('css selector', 'a.header-button.settings')
    _sign_in_button_locator = ('css selector', 'a.button.browserid')
    _signed_in_notification_locator = ('id', 'notification')
    _sign_out_button_locator = ('css selector', 'a.button.logout')

    _email_account_field_locator = ('id', 'email')

    def setUp(self):
        GaiaTestCase.setUp(self)
        self.connect_to_network()
        self.install_marketplace()

        self.user = PersonaTestUser().create_user(verified=True,
                                                  env={"browserid": "firefoxos.persona.org", "verifier": "marketplace-dev.allizom.org"})

        self.marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()

    def test_login_marketplace(self):
        # https://moztrap.mozilla.org/manage/case/4134/

        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()
        persona = settings.tap_sign_in()

        persona.login(self.user.email, self.user.password)

        # switch back to Marketplace
        self.marionette.switch_to_frame()
        self.marketplace.launch()

        # tap on the signed-in notification at the bottom of the screen to dismiss it
        self.wait_for_element_displayed(*self._signed_in_notification_locator)
        self.marionette.tap(self.marionette.find_element(*self._signed_in_notification_locator))

        settings.wait_for_sign_out_button()

        # Verify that user is logged in
        self.assertEqual(self.user.email, settings.email)

        # Sign out, which should return to the Marketplace home screen
        settings.tap_sign_out()

        # Verify that user is signed out
        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()
        settings.wait_for_sign_in_displayed()
コード例 #16
0
    def setUp(self):
        GaiaTestCase.setUp(self)
        self.connect_to_network()
        self.install_marketplace()

        self.user = PersonaTestUser().create_user(
            verified=True,
            env={
                "browserid": "firefoxos.persona.org",
                "verifier": "marketplace-dev.allizom.org"
            })

        self.marketplace = Marketplace(self.marionette,
                                       self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()
コード例 #17
0
    def test_marketplace_feedback_user(self):
        # launch marketplace dev and go to marketplace
        self.marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()

        # wait for settings button to come out
        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()

        # sign in with persona
        persona = settings.tap_sign_in()
        persona.login(self.user.email, self.user.password)

        # switch back to Marketplace
        self.marionette.switch_to_frame()
        self.marketplace.launch()

        # go to settings section in marketplace app and go to feedback tab
        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()
        self.marketplace.select_setting_feedback()

        # enter and submit your feedback
        self.marketplace.enter_feedback(self.test_comment)
        self.marketplace.submit_feedback()

        # catch the notification
        self.marketplace.wait_for_notification_message_displayed()
        message_content = self.marketplace.notification_message

        # verify if the notification is right
        self.assertEqual(message_content, self.feedback_submitted_message)
コード例 #18
0
    def test_search_paid_app(self):
        marketplace = Marketplace(self.marionette, 'Marketplace Dev')
        marketplace.launch()

        results = marketplace.search('')

        self.assertGreater(len(results.search_results), 0, 'No results found.')

        filter = results.tap_filter()
        filter.by_price('paid')
        results = filter.tap_apply()

        self.assertGreater(len(results.search_results), 0, 'No results found.')

        for result in results.search_results:
            self.assertTrue(re.match('^\$\d+\.\d{2}', result.price),
                            "App %s it's not a paid app." % result.name)
コード例 #19
0
    def setUp(self):
        GaiaTestCase.setUp(self)
        self.connect_to_network()
        self.install_marketplace()

        self.user = PersonaTestUser().create_user(verified=True,
                                                  env={"browserid": "firefoxos.persona.org", "verifier": "marketplace-dev.allizom.org"})

        self.marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()
コード例 #20
0
    def test_marketplace_feedback_anonymous(self):
        # launch marketplace dev and go to marketplace
        self.marketplace = Marketplace(self.marionette,
                                       self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()

        # wait for settings button to come out
        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()
        self.marketplace.select_setting_feedback()

        # enter and submit your feedback
        self.marketplace.enter_feedback(self.test_comment)
        self.marketplace.submit_feedback()

        # catch the notification
        self.marketplace.wait_for_notification_message_displayed()
        message_content = self.marketplace.notification_message

        # verify if the notification is right
        self.assertEqual(message_content, self.feedback_submitted_message)
コード例 #21
0
    def test_install_and_execute_bing_map(self):

        marketplace = Marketplace(self.marionette)
        marketplace.launch()

        results = marketplace.search(self.app_search)
        first_result = results.search_results[0]
        first_result.tap_install_button()
        confirm_install = ConfirmInstall(self.marionette)
        confirm_install.tap_confirm()

        results = marketplace.get_current_displayed_result()
        first_result = results.search_results[0]
        first_result.tap_open_app_button(self._map_locator)

        self.take_screenshot(prewait=self.draw_wait_time)
        self.marionette.find_element(*self._zoom_in_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)
        self.marionette.find_element(*self._zoom_in_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)
        self.marionette.find_element(*self._zoom_in_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)

        # move around
        GaiaImageCompareTestCase.scroll(self.marionette, 'right',
                                        100, locator=self._map_locator)

        self.take_screenshot(prewait=self.draw_wait_time)
        GaiaImageCompareTestCase.scroll(self.marionette, 'down',
                                        100, locator=self._map_locator)

        self.take_screenshot(prewait=self.draw_wait_time)

        # zoom out
        self.marionette.find_element(*self._zoom_out_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)
        self.marionette.find_element(*self._zoom_out_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)
        self.marionette.find_element(*self._zoom_out_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)
コード例 #22
0
class TestMarketplaceLogin(GaiaTestCase):

    MARKETPLACE_DEV_NAME = 'Marketplace Dev'

    def setUp(self):
        GaiaTestCase.setUp(self)
        self.connect_to_network()
        self.install_marketplace()

        self.user = PersonaTestUser().create_user(
            verified=True,
            env={
                "browserid": "firefoxos.persona.org",
                "verifier": "marketplace-dev.allizom.org"
            })

        self.marketplace = Marketplace(self.marionette,
                                       self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()

    def test_login_marketplace(self):
        # https://moztrap.mozilla.org/manage/case/4134/

        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()
        persona = settings.tap_sign_in()

        persona.login(self.user.email, self.user.password)

        # switch back to Marketplace
        self.marionette.switch_to_frame()
        self.marketplace.launch()

        # wait for signed-in notification at the bottom of the screen to clear
        self.marketplace.wait_for_notification_message_not_displayed()

        # Verify that user is logged in
        self.assertEqual(self.user.email, settings.email)

        # Sign out, which should return to the Marketplace home screen
        settings.tap_sign_out()

        # Verify that user is signed out
        settings.wait_for_sign_in_displayed()
コード例 #23
0
class TestMarketplaceLogin(GaiaTestCase):

    MARKETPLACE_DEV_NAME = 'Marketplace Dev'

    def setUp(self):
        GaiaTestCase.setUp(self)
        self.connect_to_network()
        self.install_marketplace()

        self.user = PersonaTestUser().create_user(verified=True,
                                                  env={"browserid": "firefoxos.persona.org", "verifier": "marketplace-dev.allizom.org"})

        self.marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()

    def test_login_marketplace(self):
        # https://moztrap.mozilla.org/manage/case/4134/

        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()
        persona = settings.tap_sign_in()

        persona.login(self.user.email, self.user.password)

        # switch back to Marketplace
        self.marionette.switch_to_frame()
        self.marketplace.launch()

        # wait for signed-in notification at the bottom of the screen to clear
        self.marketplace.wait_for_notification_message_not_displayed()

        # Verify that user is logged in
        self.assertEqual(self.user.email, settings.email)

        # Sign out, which should return to the Marketplace home screen
        settings.tap_sign_out()

        # Verify that user is signed out
        settings.wait_for_sign_in_displayed()
コード例 #24
0
    def test_marketplace_without_connectivity(self):
        marketplace = Marketplace(self.marionette)
        marketplace.launch()

        # Switch to marketplace iframe
        marketplace.switch_to_marketplace_frame()

        self.assertEqual(marketplace.error_title_text,
                         self.expected_error_title)
        self.assertEqual(marketplace.error_message_text,
                         self.expected_error_message)
コード例 #25
0
    def test_marketplace_launch(self):

        marketplace = Marketplace(self.marionette)
        homescreen = Homescreen(self.marionette)
        self.apps.switch_to_displayed_app()

        self.assertTrue(homescreen.is_app_installed(marketplace.manifest_url))

        marketplace_icon = homescreen.installed_app(marketplace.manifest_url)
        marketplace_icon.tap_icon()

        Wait(self.marionette, timeout=60).until(expected.element_present(*self._marketplace_iframe_locator))

        iframe = self.marionette.find_element(*self._marketplace_iframe_locator)
        self.marionette.switch_to_frame(iframe)

        Wait(self.marionette).until(expected.element_displayed(*self._site_header_locator))
コード例 #26
0
    def test_marketplace_feedback_anonymous(self):
        # launch marketplace dev and go to marketplace
        self.marketplace = Marketplace(self.marionette, self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()

        # wait for settings button to come out
        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()
        self.marketplace.select_setting_feedback()

        # enter and submit your feedback
        self.marketplace.enter_feedback(self.test_comment)
        self.marketplace.submit_feedback()

        # catch the notification
        self.marketplace.wait_for_notification_message_displayed()
        message_content = self.marketplace.notification_message

        # verify if the notification is right
        self.assertEqual(message_content, self.feedback_submitted_message)
コード例 #27
0
    def test_install_and_execute_bing_map(self):

        marketplace = Marketplace(self.marionette)
        marketplace.launch()

        results = marketplace.search(self.app_search)
        first_result = results.search_results[0]
        first_result.tap_install_button()
        confirm_install = ConfirmInstall(self.marionette)
        confirm_install.tap_confirm()

        results = marketplace.get_current_displayed_result()
        first_result = results.search_results[0]
        first_result.tap_open_app_button(self.app_title, self._map_locator)

        self.take_screenshot(prewait=self.draw_wait_time)
        self.marionette.find_element(*self._zoom_in_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)
        self.marionette.find_element(*self._zoom_in_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)
        self.marionette.find_element(*self._zoom_in_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)

        # move around
        GaiaImageCompareTestCase.scroll(self.marionette,
                                        'right',
                                        100,
                                        locator=self._map_locator)

        self.take_screenshot(prewait=self.draw_wait_time)
        GaiaImageCompareTestCase.scroll(self.marionette,
                                        'down',
                                        100,
                                        locator=self._map_locator)

        self.take_screenshot(prewait=self.draw_wait_time)

        # zoom out
        self.marionette.find_element(*self._zoom_out_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)
        self.marionette.find_element(*self._zoom_out_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)
        self.marionette.find_element(*self._zoom_out_locator).tap()
        self.take_screenshot(prewait=self.draw_wait_time)
コード例 #28
0
class TestMarketplaceFeedback(GaiaTestCase):
    MARKETPLACE_DEV_NAME = 'Marketplace Dev'
    feedback_submitted_message = u'Feedback submitted. Thanks!'
    test_comment = 'This is a test comment.'

    def setUp(self):
        GaiaTestCase.setUp(self)
        self.connect_to_network()
        self.install_marketplace()

        self.user = PersonaTestUser().create_user(
            verified=True,
            env={
                "browserid": "firefoxos.persona.org",
                "verifier": "marketplace-dev.allizom.org"
            })

    def test_marketplace_feedback_user(self):
        # launch marketplace dev and go to marketplace
        self.marketplace = Marketplace(self.marionette,
                                       self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()

        # wait for settings button to come out
        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()

        # sign in with persona
        persona = settings.tap_sign_in()
        persona.login(self.user.email, self.user.password)

        # switch back to Marketplace
        self.marionette.switch_to_frame()
        self.marketplace.launch()

        # go to feedback tab
        self.marketplace.select_setting_feedback()

        # enter and submit your feedback
        self.marketplace.enter_feedback(self.test_comment)
        self.marketplace.submit_feedback()

        # catch the notification
        self.marketplace.wait_for_notification_message_displayed()
        message_content = self.marketplace.notification_message

        # verify if the notification is right
        self.assertEqual(message_content, self.feedback_submitted_message)
コード例 #29
0
    def test_install_and_execute_bing_map(self):

        marketplace = Marketplace(self.marionette)
        marketplace.launch()

        results = marketplace.search(self.app_search)
        first_result = results.search_results[0]
        app_name = first_result.get_app_name()
        first_result.tap_install_button()

        # Confirm the installation and wait for the app icon to be present
        confirm_install = ConfirmInstall(self.marionette)
        confirm_install.tap_confirm()

        self.assertEqual(self.apps.displayed_app.name, 'Marketplace')

        self.device.touch_home_button()

        # Check that the icon of the app is on the homescreen
        homescreen = Homescreen(self.marionette)
        homescreen.wait_for_app_icon_present(app_name)

        installed_app = homescreen.installed_app(app_name)
        installed_app.tap_icon()

        Wait(self.marionette).until(lambda m: m.title == self.app_title)
        bingmap = self.marionette.find_element(*self._map_locator)
        Wait(self.marionette).until(lambda m: bingmap.is_displayed())
        time.sleep(self.draw_wait_time)
        self.take_screenshot()

        # once the map is completely loaded, use the UI to render different views
        # zoom in
        self.marionette.find_element(*self._zoom_in_locator).tap()
        time.sleep(self.draw_wait_time)
        self.take_screenshot()
        self.marionette.find_element(*self._zoom_in_locator).tap()
        time.sleep(self.draw_wait_time)
        self.take_screenshot()
        self.marionette.find_element(*self._zoom_in_locator).tap()
        time.sleep(self.draw_wait_time)
        self.take_screenshot()

        # move around
        self.scroll(self._map_locator, 'right', 100)
        time.sleep(self.draw_wait_time)
        self.take_screenshot()
        self.scroll(self._map_locator, 'down', 100)
        time.sleep(self.draw_wait_time)
        self.take_screenshot()

        # zoom out
        self.marionette.find_element(*self._zoom_out_locator).tap()
        time.sleep(self.draw_wait_time)
        self.take_screenshot()
        self.marionette.find_element(*self._zoom_out_locator).tap()
        time.sleep(self.draw_wait_time)
        self.take_screenshot()
        self.marionette.find_element(*self._zoom_out_locator).tap()
        time.sleep(self.draw_wait_time)
        self.take_screenshot()
コード例 #30
0
class TestMarketplaceFeedback(GaiaTestCase):
    MARKETPLACE_DEV_NAME = 'Marketplace Dev'
    feedback_submitted_message = u'Feedback submitted. Thanks!'
    test_comment = 'This is a test comment.'

    def setUp(self):
        GaiaTestCase.setUp(self)
        self.connect_to_network()
        self.install_marketplace()

    def test_marketplace_feedback_anonymous(self):
        # launch marketplace dev and go to marketplace
        self.marketplace = Marketplace(self.marionette,
                                       self.MARKETPLACE_DEV_NAME)
        self.marketplace.launch()

        # wait for settings button to come out
        self.marketplace.wait_for_setting_displayed()
        settings = self.marketplace.tap_settings()
        self.marketplace.select_setting_feedback()

        # enter and submit your feedback
        self.marketplace.enter_feedback(self.test_comment)
        self.marketplace.submit_feedback()

        # catch the notification
        self.marketplace.wait_for_notification_message_displayed()
        message_content = self.marketplace.notification_message

        # verify if the notification is right
        self.assertEqual(message_content, self.feedback_submitted_message)
コード例 #31
0
ファイル: settings.py プロジェクト: vaidik/gaia-ui-tests
 def tap_back(self):
     self.marionette.find_element(*self._back_button_locator).tap()
     from gaiatest.apps.marketplace.app import Marketplace
     return Marketplace(self.marionette)
コード例 #32
0
        marketplace_url = 'https://marketplace-dev.allizom.org/'

    if args.app_url:
        args.browser = True
        marketplace_url = args.app_url

    # apps.kill_all()
    if args.browser:
        browser = Browser(mc)
        browser.launch()
        browser.go_to_url(marketplace_url)

        browser.switch_to_content()
        browser.wait_for_element_not_displayed(*_loading_fragment_locator)

    marketplace = Marketplace(mc, marketplace_app)

    if not args.browser:
        try:
            marketplace.launch()
        except AssertionError:
            e = ('Marketplace Dev app is not installed. Install it using '
                 'install_mkt --dev or use --browser to install apps '
                 'from the browser directly.')
            args.error(e)

        if args.prod:
            marketplace.switch_to_marketplace_frame()

    if not args.app_url:
        try: