def test_that_verifies_categories_menu(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        categories = home_page.nav_menu.click_categories()
        Assert.greater(len(categories.categories), 0)
Exemplo n.º 2
0
    def test_that_checks_the_addition_of_a_review(self, mozwebqa):
        new_user = PersonaTestUser().create_user()
        mock_review = MockReview()

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        app_name = home_page.app_under_test

        # Create new user and login.
        settings_page = home_page.header.click_settings()
        settings_page.login(user=new_user)

        # Search for an app and go to it's details page.
        home_page.go_to_homepage()
        search_page = home_page.search_for(app_name)
        details_page = search_page.results[0].click_app()
        Assert.true(details_page.is_product_details_visible)

        # Write a review.
        review_box = details_page.click_write_review()
        review_box.write_a_review(mock_review['rating'], mock_review['body'])

        Assert.equal(details_page.notification_message,
                     "Your review was posted")

        # Go to the reviews page
        reviews_page = details_page.click_view_reviews()

        # Check review
        review = reviews_page.reviews[0]
        Assert.equal(review.rating, mock_review['rating'])
        Assert.contains(review.author, new_user['email'])
        Assert.equal(review.text, mock_review['body'])
Exemplo n.º 3
0
    def test_that_checks_the_addition_of_a_review(self, mozwebqa):
        new_user = PersonaTestUser().create_user()
        mock_review = MockReview()

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        # Create new user and login.
        settings_page = home_page.header.click_settings()
        settings_page.login(user=new_user)

        # Search for an app and go to it's details page.
        home_page.go_to_homepage()
        search_page = home_page.search_for(self.app_name)
        details_page = search_page.results[0].click_app()
        Assert.true(details_page.is_product_details_visible)

        # Write a review.
        details_page.click_write_review()
        add_review_box = AddReview(mozwebqa)
        details_page = add_review_box.write_a_review(mock_review['rating'], mock_review['body'])

        details_page.wait_for_page_to_load()
        Assert.true(details_page.is_success_message_visible, "Review not added: %s" % details_page.success_message)
        Assert.equal(details_page.success_message, "Your review was posted")

        # Go to the reviews page
        reviews_page = details_page.click_view_reviews()

        # Check review
        review = reviews_page.reviews[0]
        Assert.equal(review.rating, mock_review['rating'])
        Assert.contains(review.author, new_user['email'])
        Assert.equal(review.text, mock_review['body'])
Exemplo n.º 4
0
    def test_that_verifies_categories_section(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        Assert.true(home_page.is_category_section_visible)
        Assert.equal(len(home_page.categories), 9)
    def test_reviews_section(self, mozwebqa):
        """https://moztrap.mozilla.org/runtests/run/243/env/112/ - Verify details page for an app - Reviews section"""
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        # click first app and load its Details Page
        search_term = self._take_first_popular_app_name(mozwebqa)
        details_page = home_page.search_and_click_on_app(search_term)

        # This takes the number of reviews on the details page and based on that number it treats 3 different scenarios:
        # when the app has reviews, when it has 1 review and when the app isn't rated.
        if details_page.is_app_rated:
            if details_page.reviews_count >= 2:
                if len(details_page.reviews) == 2:
                    for review in details_page.reviews:
                        Assert.true(review.is_visible)
            elif details_page.reviews_count == 1:
                Assert.true(details_page.reviews[0].is_visible)
        else:
            Assert.equal(details_page.app_not_rated_text, 'App not yet rated')

        Assert.true(details_page.is_write_a_review_button_visible)

        for support_button in details_page.support_buttons_list:
            Assert.true(details_page.is_element_visible(*support_button))
Exemplo n.º 6
0
    def test_that_checks_the_addition_of_a_review(self, mozwebqa, new_user):
        mock_review = MockReview()
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()
        home_page.nav_menu.click_sign_in()
        home_page.login(new_user['email'], new_user['password'])

        details_page = home_page.go_to_first_free_app_page()
        Assert.true(details_page.is_product_details_visible)

        # Write a review
        review_box = details_page.click_write_review()
        review_box.write_a_review(mock_review['rating'], mock_review['body'])

        Assert.equal(details_page.notification_message, "Your review was successfully posted. Thanks!")
        details_page.wait_notification_box_not_visible()

        # Go to the reviews page
        reviews_page = details_page.click_view_reviews()

        # Check review
        review = reviews_page.reviews[0]
        Assert.equal(review.rating, mock_review['rating'])
        Assert.contains(review.author, new_user['email'])
        Assert.contains(review.text, mock_review['body'])
Exemplo n.º 7
0
    def test_that_after_writing_a_review_clicking_back_goes_to_app_page(self, mozwebqa):
        """Logged out, click "Write a Review" on an app page, sign in, submit a review,
        click Back, test that the current page is the app page.
        """
        mock_review = MockReview()

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        details_page = home_page.go_to_first_free_app_page()
        Assert.true(details_page.is_product_details_visible)
        app_name = details_page.title

        # Write a review.
        review_box = details_page.click_write_review()
        acct = self.create_new_user(mozwebqa)
        details_page.login(acct)

        review_box.write_a_review(mock_review['rating'], mock_review['body'])

        Assert.equal(details_page.notification_message, "Your review was successfully posted. Thanks!")
        details_page.wait_notification_box_not_visible()

        # Go to the reviews page
        reviews_page = details_page.click_view_reviews()
        reviews_page.header.click_back()

        Assert.true(details_page.is_product_details_visible)
        Assert.equal(app_name, details_page.title)
Exemplo n.º 8
0
    def test_that_after_writing_a_review_clicking_back_goes_to_app_page(self, mozwebqa):
        """Logged out, click "Write a Review" on an app page, sign in, submit a review,
        click Back, test that the current page is the app page.
        """
        mock_review = MockReview()

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        # Search for an app and go to it's details page.
        search_page = home_page.search_for(self.app_name)

        details_page = search_page.results[0].click_app()

        Assert.true(details_page.is_product_details_visible)

        # Write a review.
        details_page.click_write_review()
        details_page.login_with_user_from_other_pages(user="******")
        add_review_page = AddReview(mozwebqa)
        review_page = add_review_page.write_a_review(mock_review['rating'], mock_review['body'])

        review_page.wait_for_ajax_on_page_finish()
        review_page.wait_for_reviews_visible()
        Assert.true(review_page.is_successful_message, "Review not added: %s" % review_page.notification_message)

        # After clicking back, current page is the app's details page.
        review_page.header.click_back()

        Assert.true(details_page.is_product_details_visible)
        Assert.equal(self.app_name, details_page.title)
Exemplo n.º 9
0
    def test_that_checks_the_addition_of_a_review(self, mozwebqa, new_user):
        mock_review = MockReview()
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()
        home_page.nav_menu.click_sign_in()
        home_page.login(new_user['email'], new_user['password'])

        details_page = home_page.go_to_first_free_app_page()
        Assert.true(details_page.is_product_details_visible)

        # Write a review
        review_box = details_page.click_write_review()
        review_box.write_a_review(mock_review['rating'], mock_review['body'])

        Assert.equal(details_page.notification_message,
                     "Your review was successfully posted. Thanks!")
        details_page.wait_notification_box_not_visible()

        # Go to the reviews page
        reviews_page = details_page.click_view_reviews()

        # Check review
        review = reviews_page.reviews[0]
        Assert.equal(review.rating, mock_review['rating'])
        Assert.contains(review.author, new_user['email'])
        Assert.contains(review.text, mock_review['body'])
Exemplo n.º 10
0
    def test_searching_with_no_matching_results(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_page = home_page.search_for(self.search_term_with_no_result)

        Assert.equal('No results found', search_page.no_results_text)
Exemplo n.º 11
0
    def test_searching_with_no_matching_results(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_page = home_page.search_for(self.search_term_with_no_result)

        Assert.equal("No results found", search_page.no_results_text)
Exemplo n.º 12
0
    def test_that_searching_with_empty_field_returns_results(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_page = home_page.search_for("")

        Assert.greater(len(search_page.results), 0)
Exemplo n.º 13
0
    def test_that_after_writing_a_review_clicking_back_goes_to_app_page(self, mozwebqa, new_user):
        """Logged out, click "Write a Review" on an app page, sign in, submit a review,
        click Back, test that the current page is the app page.
        """
        mock_review = MockReview()

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        details_page = home_page.go_to_first_free_app_page()
        assert details_page.is_product_details_visible
        app_name = details_page.title

        # Write a review.
        review_box = details_page.click_write_review()
        details_page.login(new_user["email"], new_user["password"])

        review_box.write_a_review(mock_review["rating"], mock_review["body"])

        assert "Your review was successfully posted. Thanks!" == details_page.notification_message
        details_page.wait_notification_box_not_visible()

        # Go to the reviews page
        reviews_page = details_page.click_view_reviews()
        reviews_page.header.click_back()
        assert details_page.is_product_details_visible
        assert app_name == details_page.title
Exemplo n.º 14
0
    def test_reviews_section(self, mozwebqa):
        """https://moztrap.mozilla.org/runtests/run/243/env/112/ - Verify details page for an app - Reviews section"""

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        # click first app and load its Details Page
        search_term = self._take_first_popular_app_name(mozwebqa)
        details_page = home_page.search_and_click_on_app(search_term)

        # This takes the number of reviews on the details page and based on that number it treats 3 different scenarios:
        # when the app has reviews, when it has 1 review and when the app isn't rated.
        if details_page.is_app_rated:
            if details_page.reviews_count >= 2:
                if len(details_page.reviews) == 2:
                    for review in details_page.reviews:
                        Assert.true(review.is_visible)
            elif details_page.reviews_count == 1:
                Assert.true(details_page.reviews[0].is_visible)
        else:
            Assert.equal(details_page.app_not_rated_text, 'App not yet rated')

        Assert.true(details_page.is_write_a_review_button_visible)

        for support_button in details_page.support_buttons_list:
            Assert.true(details_page.is_element_visible(*support_button))
Exemplo n.º 15
0
    def test_that_verifies_categories_menu(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        categories = home_page.nav_menu.click_categories()
        Assert.greater(len(categories.categories), 0)
Exemplo n.º 16
0
    def test_that_after_writing_a_review_clicking_back_goes_to_app_page(
            self, mozwebqa, new_user):
        """Logged out, click "Write a Review" on an app page, sign in, submit a review,
        click Back, test that the current page is the app page.
        """
        mock_review = MockReview()

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        details_page = home_page.go_to_first_free_app_page()
        assert details_page.is_product_details_visible
        app_name = details_page.title

        # Write a review.
        review_box = details_page.click_write_review()
        details_page.login(new_user['email'], new_user['password'])

        review_box.write_a_review(mock_review['rating'], mock_review['body'])

        assert 'Your review was successfully posted. Thanks!' == details_page.notification_message
        details_page.wait_notification_box_not_visible()

        # Go to the reviews page
        reviews_page = details_page.click_view_reviews()
        reviews_page.header.click_back()
        assert details_page.is_product_details_visible
        assert app_name == details_page.title
Exemplo n.º 17
0
    def test_that_after_writing_a_review_clicking_back_goes_to_app_page(self, mozwebqa):
        """Logged out, click "Write a Review" on an app page, sign in, submit a review,
        click Back, test that the current page is the app page.
        """
        mock_review = MockReview()

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        # Search for an app and go to it's details page.
        search_term = self._take_first_app_name(mozwebqa)
        details_page = home_page.search_and_click_on_app(search_term)
        Assert.true(details_page.is_product_details_visible)

        # Write a review.
        review_box = details_page.click_write_review()
        acct = self.create_new_user(mozwebqa)
        details_page.login(acct)

        self.review_id = review_box.write_a_review(mock_review['rating'], mock_review['body']).review_id

        Assert.equal(details_page.notification_message, "Your review was successfully posted. Thanks!")
        details_page.wait_notification_box_not_visible()

        # Go to the reviews page
        reviews_page = details_page.click_view_reviews()
        reviews_page.header.click_back()

        Assert.true(details_page.is_product_details_visible)
        Assert.equal(search_term, details_page.title)
Exemplo n.º 18
0
    def test_that_after_writing_a_review_clicking_back_goes_to_app_page(self, mozwebqa):
        """Logged out, click "Write a Review" on an app page, sign in, submit a review,
        click Back, test that the current page is the app page.
        """
        mock_review = MockReview()

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        # Search for an app and go to it's details page.
        search_page = home_page.search_for(self.app_name)
        details_page = search_page.results[0].click_app()

        Assert.true(details_page.is_product_details_visible)

        # Write a review.
        review_box = details_page.click_write_review()
        details_page.login_with_user_from_other_pages(user="******")
        review_box.write_a_review(mock_review['rating'], mock_review['body'])

        Assert.equal(details_page.notification_message, "Your review was posted")

        # Go to the reviews page and delete the review
        reviews_page = details_page.click_view_reviews()
        reviews = reviews_page.reviews[0]
        reviews.delete()
        reviews_page.wait_notification_box_visible()

        Assert.equal(details_page.notification_message, "Your review was deleted")

        # After clicking back, current page is the app's details page.
        reviews_page.header.click_back()

        Assert.true(details_page.is_product_details_visible)
        Assert.equal(self.app_name, details_page.title)
Exemplo n.º 19
0
    def test_that_checks_the_addition_of_a_review(self, mozwebqa):
        mock_review = MockReview()

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        # Create new user and login.
        new_user = home_page.create_new_user()
        home_page.login(user=new_user)

        # Search for an app and go to it's details page.
        search_page = home_page.search_for(self.app_name)
        details_page = search_page.results[0].click_app()
        Assert.true(details_page.is_product_details_visible)

        # Write a review.
        details_page.click_write_review()
        add_review_page = AddReview(mozwebqa)
        review_page = add_review_page.write_a_review(mock_review['rating'], mock_review['body'])

        review_page.wait_for_ajax_on_page_finish()
        review_page.wait_for_reviews_visible()

        # Check review
        Assert.true(review_page.is_successful_message, "Review not added: %s" % review_page.notification_message)
        Assert.equal(review_page.notification_message, "Your review was successfully added!")
        review = review_page.reviews[0]
        Assert.equal(review.rating, mock_review['rating'])
        Assert.contains(review.author, new_user['email'])
        Assert.equal(review.text, mock_review['body'])
Exemplo n.º 20
0
    def test_that_searching_with_empty_field_returns_results(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_page = home_page.search_for("")

        Assert.greater(len(search_page.results), 0)
Exemplo n.º 21
0
    def test_that_verifies_featured_application_section(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        # Check if featured section is visible and contains applications
        Assert.true(home_page.is_featured_section_visible)
        Assert.equal(home_page.featured_section_elements_count, 6)
Exemplo n.º 22
0
    def test_searching_with_no_matching_results(self, mozwebqa):
        search_term_with_no_result = 'abcdefghij'

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_page = home_page.header.search(search_term_with_no_result)

        Assert.equal('No results found', search_page.no_results_text)
Exemplo n.º 23
0
 def test_user_can_login_and_logout(self, base_url, selenium, new_user):
     home_page = Home(base_url, selenium)
     home_page.go_to_homepage()
     home_page.more_menu.click_sign_in()
     home_page.login(new_user['email'], new_user['password'])
     settings_page = home_page.more_menu.click_settings()
     assert new_user['email'] == settings_page.email_text
     home_page = settings_page.more_menu.click_sign_out()
     assert home_page.is_sign_in_visible
Exemplo n.º 24
0
    def test_that_searching_returns_results(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_page = home_page.search_for(self.search_term)

        Assert.greater(len(search_page.results), 0)

        Assert.contains(self.search_term, search_page.results[0].name)
Exemplo n.º 25
0
    def test_searching_with_no_matching_results(self, mozwebqa):
        search_term_with_no_result = 'abcdefghij'

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_page = home_page.header.search(search_term_with_no_result)

        Assert.equal('No results found', search_page.no_results_text)
Exemplo n.º 26
0
    def test_that_searching_returns_results(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_page = home_page.search_for(self.search_term)

        Assert.greater(len(search_page.results), 0)

        Assert.contains(self.search_term, search_page.results[0].name)
 def test_user_can_login_and_logout(self, mozwebqa, new_user):
     home_page = Home(mozwebqa)
     home_page.go_to_homepage()
     home_page.more_menu.click_sign_in()
     home_page.login(new_user['email'], new_user['password'])
     settings_page = home_page.more_menu.click_settings()
     assert new_user['email'] == settings_page.email_text
     home_page = settings_page.more_menu.click_sign_out()
     assert home_page.is_sign_in_visible
    def test_user_can_login_and_logout(self, mozwebqa, new_user):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()
        home_page.nav_menu.click_sign_in()
        home_page.login(new_user['email'], new_user['password'])
        settings_page = home_page.nav_menu.click_settings()
        assert new_user['email'] == settings_page.email_text

        settings_page.click_sign_out()
        assert settings_page.is_sign_in_visible
Exemplo n.º 29
0
    def test_that_verifies_categories_menu(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        Assert.true(home_page.is_nav_menu_visible)

        home_page.open_categories_menu()
        Assert.true(home_page.is_category_section_visible)
        Assert.greater(len(home_page.categories), 0)
Exemplo n.º 30
0
 def test_that_searching_returns_results(self, mozwebqa):
     home_page = Home(mozwebqa)
     home_page.go_to_homepage()
     details_page = home_page.go_to_first_free_app_page()
     search_term = details_page.title
     details_page.header.click_back()
     search_page = home_page.header.search(search_term)
     results = search_page.results()
     assert len(results) > 0
     assert search_term in [result.name for result in results]
Exemplo n.º 31
0
    def test_that_verifies_categories_menu(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        Assert.true(home_page.is_nav_menu_visible)

        home_page.open_categories_menu()
        Assert.true(home_page.is_category_section_visible)
        Assert.greater(len(home_page.categories), 0)
Exemplo n.º 32
0
    def test_user_sign_in_from_my_apps(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        settings_page = home_page.header.click_settings()
        my_apps = settings_page.click_my_apps(logged_in=False)

        my_apps.login(user="******")
        Assert.true(my_apps.are_my_app_visible)
Exemplo n.º 33
0
    def test_switch_between_new_and_popular_pages(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()
        popular_apps = home_page.nav_menu.click_popular()
        assert 'Popular' == home_page.feed_title_text
        assert len(popular_apps) > 0

        new_apps = home_page.nav_menu.click_new()
        assert 'New' == home_page.feed_title_text
        assert len(new_apps) > 0
Exemplo n.º 34
0
 def test_that_searching_returns_results(self, mozwebqa):
     home_page = Home(mozwebqa)
     home_page.go_to_homepage()
     details_page = home_page.go_to_first_free_app_page()
     search_term = details_page.title
     details_page.header.click_back()
     search_page = home_page.header.search(search_term)
     results = search_page.items()
     assert len(results) > 0
     assert search_term in [result.name for result in results]
Exemplo n.º 35
0
    def test_switch_between_new_and_popular_pages(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()
        page = home_page.click_apps()
        page.click_popular()
        assert page.is_popular_selected
        assert len(page.items()) > 0

        page.click_new()
        assert page.is_new_selected
        assert len(page.items()) > 0
    def test_that_verifies_categories_section(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        Assert.true(home_page.is_featured_section_visible)
        Assert.true(home_page.is_gallery_section_visible)

        home_page.expand_all_categories_section()
        Assert.true(home_page.is_category_section_visible)
        Assert.greater(len(home_page.categories), 0)
Exemplo n.º 37
0
 def test_details_page_for_an_app(self, mozwebqa):
     """https://moztrap.mozilla.org/runtests/run/243/env/112/ - Verify details page for an app"""
     home_page = Home(mozwebqa)
     home_page.go_to_homepage()
     details_page = home_page.go_to_first_free_app_page()
     assert details_page.header.is_back_button_visible
     assert details_page.is_author_visible
     assert details_page.is_app_icon_present
     assert details_page.is_rating_visible
     assert details_page.is_product_details_visible
     assert details_page.is_description_visible
Exemplo n.º 38
0
    def test_switch_between_new_and_popular_pages(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()
        page = home_page.click_apps()
        page.click_popular()
        assert page.is_popular_selected
        assert len(page.items()) > 0

        page.click_new()
        assert page.is_new_selected
        assert len(page.items()) > 0
Exemplo n.º 39
0
    def test_switch_between_new_and_popular_pages(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        popular_apps = home_page.nav_menu.click_popular()
        Assert.equal('Popular', home_page.feed_title_text)
        Assert.true(len(popular_apps) > 0)

        new_apps = home_page.nav_menu.click_new()
        Assert.equal('New', home_page.feed_title_text)
        Assert.true(len(new_apps) > 0)
Exemplo n.º 40
0
    def test_user_can_login_and_logout(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        settings_page = home_page.header.click_settings()
        settings_page.login(user="******")

        Assert.equal(settings_page.email_text, mozwebqa.credentials["default"]["email"])

        settings_page.click_logout()
        Assert.true(settings_page.is_sign_in_visible)
Exemplo n.º 41
0
    def test_user_can_login_and_logout(self, mozwebqa, new_user):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()
        home_page.nav_menu.click_sign_in()
        home_page.login(new_user['email'], new_user['password'])

        settings_page = home_page.nav_menu.click_settings()
        Assert.equal(settings_page.email_text, new_user['email'])

        settings_page.click_sign_out()
        Assert.true(settings_page.is_sign_in_visible)
Exemplo n.º 42
0
    def test_that_verifies_categories_section(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        Assert.true(home_page.is_featured_section_visible)
        Assert.true(home_page.is_gallery_section_visible)

        home_page.expand_all_categories_section()
        Assert.true(home_page.is_category_section_visible)
        Assert.greater(len(home_page.categories), 0)
Exemplo n.º 43
0
    def test_switch_between_new_and_popular_pages(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        popular_apps = home_page.nav_menu.click_popular()
        Assert.equal('Popular', home_page.feed_title_text)
        Assert.true(len(popular_apps) > 0)

        new_apps = home_page.nav_menu.click_new()
        Assert.equal('New', home_page.feed_title_text)
        Assert.true(len(new_apps) > 0)
Exemplo n.º 44
0
    def test_user_can_login_and_logout(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        settings_page = home_page.header.click_settings()
        settings_page.login(user="******")

        Assert.equal(settings_page.email_text, mozwebqa.credentials["default"]["email"])

        settings_page.click_logout()
        Assert.true(settings_page.is_sign_in_visible)
Exemplo n.º 45
0
    def test_user_can_go_back_from_settings_page(self, base_url, selenium, new_user):
        """
        https://bugzilla.mozilla.org/show_bug.cgi?id=795185#c11
        """
        home_page = Home(base_url, selenium)
        home_page.go_to_homepage()
        home_page.more_menu.click_sign_in()
        home_page.login(new_user['email'], new_user['password'])
        settings_page = home_page.more_menu.click_settings()
        assert new_user['email'] == settings_page.email_text

        home_page = settings_page.header.click_marketplace_icon()
        assert home_page.is_the_current_page
Exemplo n.º 46
0
    def test_that_searching_returns_results(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_term = self._take_first_new_app_name(mozwebqa)
        search_page = home_page.search_for(search_term)

        Assert.greater(len(search_page.results), 0)

        # Check that the results contains the search term
        for i in range(len(search_page.results)):
            if search_term == search_page.results[i].name:
                Assert.equal(search_term, search_page.results[i].name)
Exemplo n.º 47
0
    def test_user_sign_in_from_my_apps(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        settings_page = home_page.header.click_settings()
        my_apps = settings_page.click_my_apps(logged_in=False)
        my_apps.click_sign_in()

        acct = self.get_user(mozwebqa)
        my_apps.login(acct)

        Assert.true(my_apps.are_my_app_visible)
    def test_user_can_go_back_from_settings_page(self, mozwebqa, new_user):
        """
        https://bugzilla.mozilla.org/show_bug.cgi?id=795185#c11
        """
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()
        home_page.more_menu.click_sign_in()
        home_page.login(new_user['email'], new_user['password'])
        settings_page = home_page.more_menu.click_settings()
        assert new_user['email'] == settings_page.email_text

        home_page = settings_page.header.click_marketplace_icon()
        assert home_page.is_the_current_page
Exemplo n.º 49
0
    def test_switch_between_new_and_popular_tab(self, mozwebqa):
        """
        Test to verify functionality for switch between New/Popular Tabs
        """
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        Assert.true(home_page.is_popular_category_tab_visible)
        Assert.true(home_page.is_new_category_tab_visible)
        Assert.true(home_page.is_popular_category_tab_selected)

        new_apps = home_page.click_new_category_tab()
        Assert.true(home_page.is_new_category_tab_selected)
        Assert.true(len(new_apps) > 0)
    def test_user_can_login_and_logout(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        acct = self.create_new_user(mozwebqa)
        home_page.nav_menu.click_sign_in()
        home_page.login(acct)

        settings_page = home_page.nav_menu.click_settings()
        Assert.equal(settings_page.email_text, acct.email)

        settings_page.click_sign_out()
        Assert.true(settings_page.is_sign_in_visible)
Exemplo n.º 51
0
    def test_user_can_login_and_logout(self, mozwebqa):

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        settings_page = home_page.header.click_settings()
        settings_page.click_sign_in()

        acct = self.create_new_user(mozwebqa)
        settings_page.login(acct)

        Assert.equal(settings_page.email_text, acct.email)

        settings_page.click_logout()
        Assert.true(settings_page.is_sign_in_visible)
Exemplo n.º 52
0
    def test_that_searching_returns_results(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_term = self._take_first_new_app_name(mozwebqa)
        search_page = home_page.search_for(search_term)

        Assert.greater(len(search_page.results), 0)

        # Check that the results contains the search term
        # Bug 1058467 - [prod] Search results are not very exact
        # We change the weights of search results based on popularity. That is why you see other apps in there.
        for i in range(len(search_page.results)):
            if search_term == search_page.results[i].name:
                Assert.equal(search_term, search_page.results[i].name)
    def test_user_can_login_and_logout(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        home_page.login_with_user(user="******")
        Assert.false(home_page.footer.is_login_visible)
        Assert.true(home_page.is_featured_section_visible)

        settings_page = home_page.header.click_settings()

        Assert.equal(settings_page.email_text, mozwebqa.credentials["default"]["email"])

        home_page = settings_page.click_logout()
        home_page.wait_for_ajax_on_page_finish()
        Assert.true(home_page.footer.is_login_visible)
Exemplo n.º 54
0
    def test_that_after_viewing_reviews_clicking_back_goes_to_app_page(
            self, mozwebqa):
        """ Navigate to the reviews listing for an app from the URL (not by clicking through to it),
        click back, test that the current page is the app page.
        """
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        details_page = home_page.go_to_first_free_app_page()
        app_name = details_page.title
        reviews_page = details_page.go_to_reviews_page()
        assert reviews_page.is_the_current_page

        reviews_page.header.click_back()
        assert details_page.is_product_details_visible
        assert app_name in details_page.title
Exemplo n.º 55
0
    def test_that_after_writing_a_review_clicking_back_goes_to_app_page(
            self, mozwebqa):
        """Logged out, click "Write a Review" on an app page, sign in, submit a review,
        click Back, test that the current page is the app page.
        """
        self._reviews_setup(mozwebqa)

        mock_review = MockReview()

        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        app_name = home_page.app_under_test

        # Search for an app and go to it's details page.
        search_page = home_page.search_for(app_name)
        details_page = search_page.results[0].click_app()

        Assert.true(details_page.is_product_details_visible)

        # Write a review.
        review_box = details_page.click_write_review()
        details_page.login_with_user_from_other_pages(user="******")
        self.review_id = review_box.write_a_review(
            mock_review['rating'], mock_review['body']).review_id

        Assert.equal(details_page.notification_message,
                     "Your review was posted")
        details_page.wait_notification_box_not_visible()

        # Go to the reviews page and delete the review
        reviews_page = details_page.click_view_reviews()
        reviews = reviews_page.reviews[0]
        reviews.delete()
        reviews_page.wait_notification_box_visible()

        Assert.equal(details_page.notification_message, "Review deleted")

        # if clean up was successful, don't cleanup in teardown
        del self.review_id

        # After clicking back, current page is the app's details page.
        reviews_page.header.click_back()

        Assert.true(details_page.is_product_details_visible)
        Assert.equal(app_name, details_page.title)
    def test_user_can_go_back_from_settings_page(self, mozwebqa):
        """
        https://bugzilla.mozilla.org/show_bug.cgi?id=795185#c11
        """
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        settings_page = home_page.header.click_settings()
        settings_page.login(user="******")
        Assert.equal(settings_page.email_text,
                     mozwebqa.credentials["default"]["email"])

        settings_page.click_apps()
        Assert.equal("My Apps", settings_page.selected_settings_option)

        settings_page.header.click_marketplace_icon()
        Assert.true(home_page.is_featured_section_visible)
Exemplo n.º 57
0
    def test_switch_between_new_and_popular_tab(self, mozwebqa):
        """
        Test to verify functionality for switch between New/Popular Tabs
        """
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        Assert.true(home_page.is_popular_category_tab_visible)
        Assert.true(home_page.is_new_category_tab_visible)

        home_page.click_new_menu_tab()
        Assert.equal('New', home_page.feed_title_text)
        Assert.true(len(home_page.new_apps) > 0)

        home_page.click_popular_menu_tab()
        Assert.equal('Popular', home_page.feed_title_text)
        Assert.true(len(home_page.popular_apps) > 0)
Exemplo n.º 58
0
    def test_details_page_for_an_app(self, mozwebqa):
        """https://moztrap.mozilla.org/runtests/run/243/env/112/ - Verify details page for an app"""
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        search_term = self._take_first_popular_app_name(mozwebqa)
        details_page = home_page.search_and_click_on_app(search_term)

        details_page.click_more_button()

        # The verifications required by the testcase
        Assert.true(details_page.header.is_back_button_visible)
        Assert.true(search_term in details_page.title)
        Assert.true(details_page.is_author_visible)
        Assert.true(details_page.is_app_icon_present)
        Assert.true(details_page.is_rating_visible)
        Assert.true(details_page.is_product_details_visible)
        Assert.true(details_page.is_description_visible)
Exemplo n.º 59
0
    def test_that_searching_returns_results(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.go_to_homepage()

        details_page = home_page.go_to_first_free_app_page()
        search_term = details_page.title
        details_page.header.click_back()
        search_page = home_page.header.search(search_term)

        results = search_page.results()
        Assert.greater(len(results), 0)

        # Check that the results contains the search term
        for i in range(len(results)):
            if search_term == results[i].name:
                return

        Assert.fail('The search results did not include the app: %s' % search_term)