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)
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)
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
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)
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
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
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
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)
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)
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)
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)
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
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
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