예제 #1
0
    def test_that_all_reviews_hyperlink_works(self, mozwebqa):
        """
        Test for Litmus 4843.
        https://litmus.mozilla.org/show_test.cgi?id=4843
        """
        #Open details page for Adblock Plus
        details_page = Details(mozwebqa, 'Adblock Plus')
        Assert.true(details_page.has_reviews)

        details_page.click_all_reviews_link()
        Assert.equal(details_page.review_count, 20)

        #Go to the last page and check that the next button is not present
        details_page.paginator.click_last_page()
        Assert.true(details_page.paginator.is_next_page_disabled)

        #Go one page back, check that it has 20 reviews
        #that the page number decreases and that the next link is visible
        page_number = details_page.paginator.page_number
        details_page.paginator.click_prev_page()
        Assert.false(details_page.paginator.is_next_page_disabled)
        Assert.equal(details_page.review_count, 20)
        Assert.equal(details_page.paginator.page_number, page_number - 1)

        #Go to the first page and check that the prev button is not present
        details_page.paginator.click_first_page()
        Assert.true(details_page.paginator.is_prev_page_disabled)

        #Go one page forward, check that it has 20 reviews,
        #that the page number increases and that the prev link is visible
        page_number = details_page.paginator.page_number
        details_page.paginator.click_next_page()
        Assert.false(details_page.paginator.is_prev_page_disabled)
        Assert.equal(details_page.review_count, 20)
        Assert.equal(details_page.paginator.page_number, page_number + 1)
예제 #2
0
    def test_that_all_reviews_hyperlink_works(self, mozwebqa):
        # Open details page for MemChaser
        details_page = Details(mozwebqa, "Firebug")
        Assert.true(details_page.has_reviews)

        view_reviews = details_page.click_all_reviews_link()
        Assert.equal(len(view_reviews.reviews), 20)

        # Go to the last page and check that the next button is not present
        view_reviews.paginator.click_last_page()
        Assert.true(view_reviews.paginator.is_next_page_disabled)

        # Go one page back, check that it has 20 reviews
        # that the page number decreases and that the next link is visible
        page_number = view_reviews.paginator.page_number
        view_reviews.paginator.click_prev_page()
        Assert.false(view_reviews.paginator.is_next_page_disabled)
        Assert.equal(len(view_reviews.reviews), 20)
        Assert.equal(view_reviews.paginator.page_number, page_number - 1)

        # Go to the first page and check that the prev button is not present
        view_reviews.paginator.click_first_page()
        Assert.true(view_reviews.paginator.is_prev_page_disabled)

        # Go one page forward, check that it has 20 reviews,
        # that the page number increases and that the prev link is visible
        page_number = view_reviews.paginator.page_number
        view_reviews.paginator.click_next_page()
        Assert.false(view_reviews.paginator.is_prev_page_disabled)
        Assert.equal(len(view_reviews.reviews), 20)
        Assert.equal(view_reviews.paginator.page_number, page_number + 1)
예제 #3
0
    def test_that_new_review_is_saved(self, base_url, selenium, logged_in, user):
        details_page = Details(base_url, selenium, 'Memchaser')
        write_review_block = details_page.click_to_write_review()

        # Write a review
        body = 'Automatic addon review by Selenium tests %s' % datetime.now()
        write_review_block.enter_review_with_text(body)
        write_review_block.set_review_rating(1)
        review_page = write_review_block.click_to_save_review()

        # Assert review
        review = review_page.reviews[0]
        assert 1 == review.rating
        assert user['display_name'] == review.author
        date = datetime.now(timezone('UTC')).strftime('%B %d, %Y')
        # there are no leading zero-signs on day so we need to remove them too
        expected_date = date.replace(' 0', ' ')
        assert expected_date == review.date, 'Date of review does not match the expected value.'
        assert body == review.text, 'Review text does not match expected value.'

        review.delete()

        details_page = Details(base_url, selenium, 'Memchaser')
        review_page = details_page.click_all_reviews_link()

        for review in review_page.reviews:
            assert body not in review.text
예제 #4
0
    def test_that_all_reviews_hyperlink_works(self, mozwebqa):
        """
        Test for Litmus 4843.
        https://litmus.mozilla.org/show_test.cgi?id=4843
        """
        #Open details page for MemChaser
        details_page = Details(mozwebqa, "Firebug")
        Assert.true(details_page.has_reviews)

        view_reviews = details_page.click_all_reviews_link()
        Assert.equal(len(view_reviews.reviews), 20)

        #Go to the last page and check that the next button is not present
        view_reviews.paginator.click_last_page()
        Assert.true(view_reviews.paginator.is_next_page_disabled)

        #Go one page back, check that it has 20 reviews
        #that the page number decreases and that the next link is visible
        page_number = view_reviews.paginator.page_number
        view_reviews.paginator.click_prev_page()
        Assert.false(view_reviews.paginator.is_next_page_disabled)
        Assert.equal(len(view_reviews.reviews), 20)
        Assert.equal(view_reviews.paginator.page_number, page_number - 1)

        #Go to the first page and check that the prev button is not present
        view_reviews.paginator.click_first_page()
        Assert.true(view_reviews.paginator.is_prev_page_disabled)

        #Go one page forward, check that it has 20 reviews,
        #that the page number increases and that the prev link is visible
        page_number = view_reviews.paginator.page_number
        view_reviews.paginator.click_next_page()
        Assert.false(view_reviews.paginator.is_prev_page_disabled)
        Assert.equal(len(view_reviews.reviews), 20)
        Assert.equal(view_reviews.paginator.page_number, page_number + 1)
예제 #5
0
    def test_that_all_reviews_hyperlink_works(self, base_url, selenium):
        # Open details page for MemChaser
        details_page = Details(base_url, selenium, "Firebug")
        assert details_page.has_reviews

        view_reviews = details_page.click_all_reviews_link()
        assert 20 == len(view_reviews.reviews)

        # Go to the last page and check that the next button is not present
        view_reviews.paginator.click_last_page()
        assert view_reviews.paginator.is_next_page_disabled

        # Go one page back, check that it has 20 reviews
        # that the page number decreases and that the next link is visible
        page_number = view_reviews.paginator.page_number
        view_reviews.paginator.click_prev_page()
        assert not view_reviews.paginator.is_next_page_disabled
        assert 20 == len(view_reviews.reviews)
        assert page_number - 1 == view_reviews.paginator.page_number

        # Go to the first page and check that the prev button is not present
        view_reviews.paginator.click_first_page()
        assert view_reviews.paginator.is_prev_page_disabled

        # Go one page forward, check that it has 20 reviews,
        # that the page number increases and that the prev link is visible
        page_number = view_reviews.paginator.page_number
        view_reviews.paginator.click_next_page()
        assert not view_reviews.paginator.is_prev_page_disabled
        assert 20 == len(view_reviews.reviews)
        assert page_number + 1 == view_reviews.paginator.page_number
예제 #6
0
    def test_that_new_review_is_saved(self, base_url, selenium, logged_in,
                                      user):
        details_page = Details(base_url, selenium, 'Memchaser')
        write_review_block = details_page.click_to_write_review()

        # Write a review
        body = 'Automatic addon review by Selenium tests %s' % datetime.now()
        write_review_block.enter_review_with_text(body)
        write_review_block.set_review_rating(1)
        review_page = write_review_block.click_to_save_review()

        # Assert review
        review = review_page.reviews[0]
        assert 1 == review.rating
        assert user['display_name'] == review.author
        date = datetime.now(timezone('UTC')).strftime('%B %d, %Y')
        # there are no leading zero-signs on day so we need to remove them too
        expected_date = date.replace(' 0', ' ')
        assert expected_date == review.date, 'Date of review does not match the expected value.'
        assert body == review.text, 'Review text does not match expected value.'

        review.delete()

        details_page = Details(base_url, selenium, 'Memchaser')
        review_page = details_page.click_all_reviews_link()

        for review in review_page.reviews:
            assert body not in review.text
예제 #7
0
    def test_that_all_reviews_hyperlink_works(self, base_url, selenium):
        # Open details page for MemChaser
        details_page = Details(base_url, selenium, "Firebug")
        assert details_page.has_reviews

        view_reviews = details_page.click_all_reviews_link()
        assert 20 == len(view_reviews.reviews)

        # Go to the last page and check that the next button is not present
        view_reviews.paginator.click_last_page()
        assert view_reviews.paginator.is_next_page_disabled

        # Go one page back, check that it has 20 reviews
        # that the page number decreases and that the next link is visible
        page_number = view_reviews.paginator.page_number
        view_reviews.paginator.click_prev_page()
        assert not view_reviews.paginator.is_next_page_disabled
        assert 20 == len(view_reviews.reviews)
        assert page_number - 1 == view_reviews.paginator.page_number

        # Go to the first page and check that the prev button is not present
        view_reviews.paginator.click_first_page()
        assert view_reviews.paginator.is_prev_page_disabled

        # Go one page forward, check that it has 20 reviews,
        # that the page number increases and that the prev link is visible
        page_number = view_reviews.paginator.page_number
        view_reviews.paginator.click_next_page()
        assert not view_reviews.paginator.is_prev_page_disabled
        assert 20 == len(view_reviews.reviews)
        assert page_number + 1 == view_reviews.paginator.page_number
예제 #8
0
    def test_that_new_review_is_saved(self, mozwebqa):
        # Step 1 - Login into AMO
        home_page = Home(mozwebqa)
        home_page.login()
        Assert.true(home_page.is_the_current_page)
        Assert.true(home_page.header.is_user_logged_in)

        # Step 2 - Load any addon detail page
        details_page = Details(mozwebqa, 'Memchaser')

        # Step 3 - Click on "Write review" button
        write_review_block = details_page.click_to_write_review()

        # Step 4 - Write a review
        body = 'Automatic addon review by Selenium tests %s' % datetime.now()
        write_review_block.enter_review_with_text(body)
        write_review_block.set_review_rating(1)
        review_page = write_review_block.click_to_save_review()

        # Step 5 - Assert review
        review = review_page.reviews[0]
        Assert.equal(review.rating, 1)
        Assert.equal(review.author, mozwebqa.credentials['default']['name'])
        date = datetime.now().strftime("%B %d, %Y")
        # there are no leading zero-signs on day so we need to remove them too
        expected_date = date.replace(' 0', ' ')
        Assert.equal(
            review.date, expected_date,
            'Date of review does not match the expected value. '
            'Expected: "%s" but found "%s"' % (expected_date, review.date))
        Assert.equal(
            review.text, body, 'Review text does not match expected value. '
            'Expected: "%s", but found "%s"' % (body, review.text))

        review.delete()

        details_page = Details(mozwebqa, 'Memchaser')
        review_page = details_page.click_all_reviews_link()

        for review in review_page.reviews:
            Assert.false(body in review.text)
예제 #9
0
    def test_that_new_review_is_saved(self, mozwebqa):
        """
        Test for Litmus 22921.
        https://litmus.mozilla.org/show_test.cgi?id=22921
        """
        # Step 1 - Login into AMO
        home_page = Home(mozwebqa)
        home_page.login("browserID")
        Assert.true(home_page.is_the_current_page)
        Assert.true(home_page.header.is_user_logged_in)

        # Step 2 - Load any addon detail page
        details_page = Details(mozwebqa, 'Memchaser')

        # Step 3 - Click on "Write review" button
        write_review_block = details_page.click_to_write_review()

        # Step 4 - Write a review
        body = 'Automatic addon review by Selenium tests %s' % datetime.now()
        write_review_block.enter_review_with_text(body)
        write_review_block.set_review_rating(1)
        review_page = write_review_block.click_to_save_review()

        # Step 5 - Assert review
        review = review_page.reviews[0]
        Assert.equal(review.rating, 1)
        Assert.equal(review.author, mozwebqa.credentials['default']['name'])
        date = datetime.now().strftime("%B %d, %Y")
        # there are no leading zero-signs on day so we need to remove them too
        date = date.replace(' 0', ' ')
        Assert.equal(review.date, date)
        Assert.equal(review.text, body)

        review.delete()

        details_page = Details(mozwebqa, 'Memchaser')
        review_page = details_page.click_all_reviews_link()

        for review in review_page.reviews:
            Assert.false(body in review.text)
예제 #10
0
    def test_that_new_review_is_saved(self, mozwebqa):
        """
        Test for Litmus 22921.
        https://litmus.mozilla.org/show_test.cgi?id=22921
        """
        # Step 1 - Login into AMO
        home_page = Home(mozwebqa)
        home_page.login("browserID")
        Assert.true(home_page.is_the_current_page)
        Assert.true(home_page.header.is_user_logged_in)

        # Step 2 - Load any addon detail page
        details_page = Details(mozwebqa, 'Memchaser')

        # Step 3 - Click on "Write review" button
        write_review_block = details_page.click_to_write_review()

        # Step 4 - Write a review
        body = 'Automatic addon review by Selenium tests %s' % datetime.now()
        write_review_block.enter_review_with_text(body)
        write_review_block.set_review_rating(1)
        review_page = write_review_block.click_to_save_review()

        # Step 5 - Assert review
        review = review_page.reviews[0]
        Assert.equal(review.rating, 1)
        Assert.equal(review.author, mozwebqa.credentials['default']['name'])
        date = datetime.now().strftime("%B %d, %Y")
        # there are no leading zero-signs on day so we need to remove them too
        date = date.replace(' 0', ' ')
        Assert.equal(review.date, date)
        Assert.equal(review.text, body)

        review.delete()

        details_page = Details(mozwebqa, 'Memchaser')
        review_page = details_page.click_all_reviews_link()

        for review in review_page.reviews:
            Assert.false(body in review.text)
예제 #11
0
    def test_that_new_review_is_saved(self, mozwebqa):
        # Step 1 - Login into AMO
        home_page = Home(mozwebqa)
        home_page.login()
        Assert.true(home_page.is_the_current_page)
        Assert.true(home_page.header.is_user_logged_in)

        # Step 2 - Load any addon detail page
        details_page = Details(mozwebqa, 'Memchaser')

        # Step 3 - Click on "Write review" button
        write_review_block = details_page.click_to_write_review()

        # Step 4 - Write a review
        body = 'Automatic addon review by Selenium tests %s' % datetime.now()
        write_review_block.enter_review_with_text(body)
        write_review_block.set_review_rating(1)
        review_page = write_review_block.click_to_save_review()

        # Step 5 - Assert review
        review = review_page.reviews[0]
        Assert.equal(review.rating, 1)
        Assert.equal(review.author, mozwebqa.credentials['default']['name'])
        date = datetime.now(timezone('US/Pacific')).strftime("%B %d, %Y")
        # there are no leading zero-signs on day so we need to remove them too
        expected_date = date.replace(' 0', ' ')
        Assert.equal(review.date, expected_date, 'Date of review does not match the expected value. '
                     'Expected: "%s" but found "%s"' % (expected_date, review.date))
        Assert.equal(review.text, body, 'Review text does not match expected value. '
                     'Expected: "%s", but found "%s"' % (body, review.text))

        review.delete()

        details_page = Details(mozwebqa, 'Memchaser')
        review_page = details_page.click_all_reviews_link()

        for review in review_page.reviews:
            Assert.false(body in review.text)
예제 #12
0
    def test_that_new_review_is_saved(self, base_url, selenium, existing_user):
        # Step 1 - Login into AMO
        home_page = Home(base_url, selenium)
        home_page.login(existing_user['email'], existing_user['password'])
        assert home_page.is_the_current_page
        assert home_page.header.is_user_logged_in

        # Step 2 - Load any addon detail page
        details_page = Details(base_url, selenium, 'Memchaser')

        # Step 3 - Click on "Write review" button
        write_review_block = details_page.click_to_write_review()

        # Step 4 - Write a review
        body = 'Automatic addon review by Selenium tests %s' % datetime.now()
        write_review_block.enter_review_with_text(body)
        write_review_block.set_review_rating(1)
        review_page = write_review_block.click_to_save_review()

        # Step 5 - Assert review
        review = review_page.reviews[0]
        assert 1 == review.rating
        assert existing_user['name'] == review.author
        date = datetime.now(timezone('US/Pacific')).strftime("%B %d, %Y")
        # there are no leading zero-signs on day so we need to remove them too
        expected_date = date.replace(' 0', ' ')
        assert expected_date == review.date, 'Date of review does not match the expected value.'
        assert body == review.text, 'Review text does not match expected value.'

        review.delete()

        details_page = Details(base_url, selenium, 'Memchaser')
        review_page = details_page.click_all_reviews_link()

        for review in review_page.reviews:
            assert body not in review.text
예제 #13
0
    def test_that_new_review_is_saved(self, mozwebqa, existing_user):
        # Step 1 - Login into AMO
        home_page = Home(mozwebqa)
        home_page.login(existing_user['email'], existing_user['password'])
        assert home_page.is_the_current_page
        assert home_page.header.is_user_logged_in

        # Step 2 - Load any addon detail page
        details_page = Details(mozwebqa, 'Memchaser')

        # Step 3 - Click on "Write review" button
        write_review_block = details_page.click_to_write_review()

        # Step 4 - Write a review
        body = 'Automatic addon review by Selenium tests %s' % datetime.now()
        write_review_block.enter_review_with_text(body)
        write_review_block.set_review_rating(1)
        review_page = write_review_block.click_to_save_review()

        # Step 5 - Assert review
        review = review_page.reviews[0]
        assert 1 == review.rating
        assert existing_user['name'] == review.author
        date = datetime.now(timezone('US/Pacific')).strftime("%B %d, %Y")
        # there are no leading zero-signs on day so we need to remove them too
        expected_date = date.replace(' 0', ' ')
        assert expected_date == review.date, 'Date of review does not match the expected value.'
        assert body == review.text, 'Review text does not match expected value.'

        review.delete()

        details_page = Details(mozwebqa, 'Memchaser')
        review_page = details_page.click_all_reviews_link()

        for review in review_page.reviews:
            assert body not in review.text
예제 #14
0
        details_page = Details(mozwebqa, 'Memchaser')

        # Step 3 - Click on "Write review" button
        write_review_block = details_page.click_to_write_review()

        # Step 4 - Write a review
        body = 'Automatic addon review by Selenium tests %s' % datetime.now()
        write_review_block.enter_review_with_text(body)
        write_review_block.set_review_rating(1)
        review_page = write_review_block.click_to_save_review()

        # Step 5 - Assert review
        review = review_page.reviews[0]
        assert review.rating == 1
        assert review.author == existing_user['name']
        date = datetime.now(timezone('US/Pacific')).strftime("%B %d, %Y")
        # there are no leading zero-signs on day so we need to remove them too
        expected_date = date.replace(' 0', ' ')
        assert review.date == expected_date, 'Date of review does not match the expected value. '
                     'Expected: "%s" but found "%s"' % (expected_date, review.date)
        assert review.text, body == 'Review text does not match expected value. '
                     'Expected: "%s", but found "%s"' % (body, review.text)

        review.delete()

        details_page = Details(mozwebqa, 'Memchaser')
        review_page = details_page.click_all_reviews_link()

        for review in review_page.reviews:
            assert body in review.text is False