def test_that_featured_themes_go_to_their_landing_page_when_clicked( self, services_base_url, selenium): discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) first_theme = discovery_pane.first_theme theme = discovery_pane.click_on_first_theme() assert first_theme in theme.theme_title
def test_that_featured_personas_go_to_their_landing_page_when_clicked( self, mozwebqa): """Test for Litmus 15081.""" discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) first_persona = discovery_pane.first_persona persona = discovery_pane.click_on_first_persona() Assert.equal(first_persona, persona.persona_title)
def test_that_cycles_through_all_panels_in_the_carousel(self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) carousel_panels = discovery_pane.carousel_panels # remove first and last panels, they are phantoms! carousel_panels.pop(0) carousel_panels.pop(-1) panels_count = len(carousel_panels) # create and init cycle panels = cycle(carousel_panels) first_heading = panels.next().heading # advance forward, check that current panel is visible # to ensure that panels are being switched for i in range(panels_count): discovery_pane.show_next_carousel_panel() current_panel = panels.next() Assert.true(current_panel.heading) Assert.true(current_panel.is_visible) # now check that current panel has the same heading as # the first one to ensure that we have completed the cycle last_heading = current_panel.heading Assert.equal(first_heading, last_heading)
def test_that_cycles_through_all_panels_in_the_carousel(self, services_base_url, selenium): discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) carousel_panels = discovery_pane.carousel_panels # remove first and last panels, they are phantoms! carousel_panels.pop(0) carousel_panels.pop(-1) panels_count = len(carousel_panels) # create and init cycle panels = cycle(carousel_panels) first_heading = panels.next().heading # advance forward, check that current panel is visible # to ensure that panels are being switched for i in range(panels_count): discovery_pane.show_next_carousel_panel() current_panel = panels.next() current_panel.wait_for_next_promo() assert current_panel.heading assert current_panel.is_visible # now check that current panel has the same heading as # the first one to ensure that we have completed the cycle last_heading = current_panel.heading assert first_heading == last_heading
def test_that_cycles_through_all_panels_in_the_carousel(self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) carousel_panels = discovery_pane.carousel_panels # remove first and last panels, they are phantoms! carousel_panels.pop(0) carousel_panels.pop(-1) panels_count = len(carousel_panels) # create and init cycle panels = cycle(carousel_panels) first_heading = panels.next().heading # advance forward, check that current panel is visible # to ensure that panels are being switched for i in range(panels_count): discovery_pane.show_next_carousel_panel() current_panel = panels.next() current_panel.wait_for_next_promo() Assert.true(current_panel.heading) Assert.true(current_panel.is_visible) # now check that current panel has the same heading as # the first one to ensure that we have completed the cycle last_heading = current_panel.heading Assert.equal(first_heading, last_heading)
def test_that_mission_statement_is_on_addons_home_page(self, services_base_url, selenium): discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) expected_text = "Thanks for using Firefox and supporting Mozilla's mission!" mission_text = discovery_pane.mission_section assert expected_text in mission_text assert discovery_pane.mozilla_org_link_visible() download_count_regex = "Add-ons downloaded: (.+)" assert re.search(download_count_regex, discovery_pane.download_count) is not None
def test_the_logout_link_for_logged_in_users(self, services_base_url, selenium, user): selenium.get(services_base_url) selenium.add_cookie({ 'name': user['session_cookie']['name'], 'value': user['session_cookie']['value']}) discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) home_page = discovery_pane.click_logout() assert home_page.is_the_current_page assert not home_page.header.is_user_logged_in
def test_that_mission_statement_is_on_addons_home_page(self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) expected_text = "Thanks for using Firefox and supporting Mozilla's mission!" mission_text = discovery_pane.mission_section Assert.true(expected_text in mission_text) Assert.true(discovery_pane.mozilla_org_link_visible()) download_count_regex = "Add-ons downloaded: (.+)" Assert.true(re.search(download_count_regex, discovery_pane.download_count) is not None)
def test_the_logout_link_for_logged_in_users(self, mozwebqa, existing_user): 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 discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) home_page = discovery_pane.click_logout() assert home_page.is_the_current_page assert not home_page.header.is_user_logged_in
def test_the_logout_link_for_logged_in_users(self, base_url, services_base_url, selenium, existing_user): 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 discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) home_page = discovery_pane.click_logout() assert home_page.is_the_current_page assert not home_page.header.is_user_logged_in
def test_the_logout_link_for_logged_in_users(self, mozwebqa): home_page = Home(mozwebqa) home_page.login() Assert.true(home_page.is_the_current_page) Assert.true(home_page.header.is_user_logged_in) discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) home_page = discovery_pane.click_logout() Assert.true(home_page.is_the_current_page) Assert.false(home_page.header.is_user_logged_in)
def test_that_mission_statement_is_on_addons_home_page(self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) expected_text = "Thanks for using Firefox and supporting Mozilla's mission!" mission_text = discovery_pane.mission_section Assert.true(expected_text in mission_text) Assert.true(discovery_pane.mozilla_org_link_visible()) download_count_regex = "Add-ons downloaded: (.+)" Assert.true( re.search(download_count_regex, discovery_pane.download_count) is not None)
def test_the_logout_link_for_logged_in_users(self, mozwebqa): """ Test for Litmus 15110. https://litmus.mozilla.org/show_test.cgi?id=15110 """ home_page = Home(mozwebqa) home_page.login() Assert.true(home_page.is_the_current_page) Assert.true(home_page.header.is_user_logged_in) discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) home_page = discovery_pane.click_logout() Assert.true(home_page.is_the_current_page) Assert.false(home_page.header.is_user_logged_in)
def test_that_carousel_works(self, mozwebqa): """ Test for Litmus 15071. https://litmus.mozilla.org/show_test.cgi?id=15071 """ discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) slider2 = '' #checking > button works and slides change for i in range(0, len(discovery_pane.sliders)): slider1 = discovery_pane.sliders[i].header_name Assert.not_equal(slider1, slider2) Assert.greater(discovery_pane.sliders[i].opacity_value_for_next, 0.3) discovery_pane.sliders[i].click_next() slider2 = slider1 #checking < button works and slides change for i in range(0, len(discovery_pane.sliders)): slider1 = discovery_pane.sliders[i].header_name Assert.not_equal(slider1, slider2) Assert.greater( discovery_pane.sliders[i].opacity_value_for_previous, 0.3) discovery_pane.sliders[i].click_previous() slider2 = slider1
def test_that_featured_themes_is_present_and_has_5_item( self, services_base_url, selenium): discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) assert discovery_pane.is_themes_section_visible assert 5 == discovery_pane.themes_count assert discovery_pane.is_themes_see_all_link_visible
def test_that_more_ways_to_customize_section_is_available( self, services_base_url, selenium): discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) assert discovery_pane.more_ways_section_visible assert 'Browse all add-ons' == discovery_pane.browse_all_addons assert 'See all complete themes' == discovery_pane.see_all_complete_themes
def test_that_carousel_works(self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) # ensure the first panel is visible current_panel = discovery_pane.carousel_panels[1] Assert.true(current_panel.is_visible) first_heading = current_panel.heading # switch to the second panel discovery_pane.show_next_carousel_panel() current_panel = discovery_pane.carousel_panels[2] Assert.not_equal(current_panel.heading, first_heading) Assert.true(current_panel.is_visible) # switch back to the first panel discovery_pane.show_previous_carousel_panel() current_panel = discovery_pane.carousel_panels[1] Assert.equal(current_panel.heading, first_heading) Assert.true(current_panel.is_visible)
def test_that_users_with_less_than_3_addons_get_what_are_addons(self, services_base_url, selenium): """ Since Selenium starts with a clean profile all the time this will always have less than 3 addons. """ discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) what_are_addons_expected = "Add-ons are applications that let you personalize " what_are_addons_expected += "Firefox with extra functionality or style. Try a time-saving" what_are_addons_expected += " sidebar, a weather notifier, or a themed look to make " what_are_addons_expected += "Firefox your own.\nLearn More" assert what_are_addons_expected == discovery_pane.what_are_addons_text
def test_that_extension_is_underlined_while_hover_and_text_not( self, mozwebqa): """ Test for Litmus 15118. https://litmus.mozilla.org/show_test.cgi?searchType=by_id&id=15118 """ discovery_pane = DiscoveryPane(mozwebqa, self.basepath) Assert.equal( discovery_pane.hover_over_extension_and_get_css_property_for_title, "underline") Assert.equal( discovery_pane.hover_over_extension_and_get_css_property_for_text, "none")
def test_that_users_with_less_than_3_addons_get_what_are_addons( self, mozwebqa): """ Test for Litmus 15063. Since Selenium starts with a clean profile all the time this will always have less than 3 addons. """ discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) what_are_addons_expected = "Add-ons are applications that let you personalize " what_are_addons_expected += "Firefox with extra functionality or style. Try a time-saving" what_are_addons_expected += " sidebar, a weather notifier, or a themed look to make " what_are_addons_expected += "Firefox your own.\nLearn More" Assert.equal(what_are_addons_expected, discovery_pane.what_are_addons_text)
def test_that_carousel_works(self, services_base_url, selenium): discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) # ensure the first panel is visible current_panel = discovery_pane.carousel_panels[1] assert current_panel.is_visible first_heading = current_panel.heading # switch to the second panel discovery_pane.show_next_carousel_panel() current_panel = discovery_pane.carousel_panels[2] assert not current_panel.heading == first_heading assert current_panel.is_visible # switch back to the first panel discovery_pane.show_previous_carousel_panel() current_panel = discovery_pane.carousel_panels[1] assert first_heading == current_panel.heading assert current_panel.is_visible
def test_that_featured_personas_is_present_and_has_5_item(self, mozwebqa): """Test for Litmus 15079, 15080.""" discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) Assert.true(discovery_pane.is_personas_section_visible) Assert.equal(5, discovery_pane.personas_count) Assert.true(discovery_pane.is_personas_see_all_link_visible)
def test_that_featured_themes_is_present_and_has_5_item(self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) assert discovery_pane.is_themes_section_visible assert 5 == discovery_pane.themes_count assert discovery_pane.is_themes_see_all_link_visible
def test_that_up_and_coming_is_present_and_had_5_items(self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) Assert.equal(5, discovery_pane.up_and_coming_item_count)
def test_that_more_ways_to_customize_section_is_available(self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) Assert.true(discovery_pane.more_ways_section_visible) Assert.equal("Browse all add-ons", discovery_pane.browse_all_addons) Assert.equal("See all complete themes", discovery_pane.see_all_complete_themes)
def test_that_featured_themes_go_to_their_landing_page_when_clicked( self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) first_theme = discovery_pane.first_theme theme = discovery_pane.click_on_first_theme() Assert.contains(first_theme, theme.theme_title)
def test_that_featured_themes_is_present_and_has_5_item(self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) Assert.true(discovery_pane.is_themes_section_visible) Assert.equal(5, discovery_pane.themes_count) Assert.true(discovery_pane.is_themes_see_all_link_visible)
def test_that_featured_themes_go_to_their_landing_page_when_clicked(self, mozwebqa): discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) first_theme = discovery_pane.first_theme theme = discovery_pane.click_on_first_theme() assert first_theme in theme.theme_title
def test_that_featured_personas_go_to_their_landing_page_when_clicked(self, mozwebqa): """Test for Litmus 15081.""" discovery_pane = DiscoveryPane(mozwebqa, self.basepath) first_persona = discovery_pane.first_persona persona = discovery_pane.click_on_first_persona() Assert.equal(first_persona, persona.persona_title)
def test_that_more_ways_to_customize_section_is_available(self, mozwebqa): """Test for Litmus 15082.""" discovery_pane = DiscoveryPane(mozwebqa, self.basepath) Assert.true(discovery_pane.more_ways_section_visible) Assert.equal("Browse all add-ons", discovery_pane.browse_all_addons) Assert.equal("See all themes", discovery_pane.see_all_themes)
def test_that_up_and_coming_is_present_and_had_5_items(self, services_base_url, selenium): discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) assert 5 == discovery_pane.up_and_coming_item_count
def test_that_featured_themes_go_to_their_landing_page_when_clicked(self, services_base_url, selenium): discovery_pane = DiscoveryPane(services_base_url, selenium, self.basepath(selenium)) first_theme = discovery_pane.first_theme theme = discovery_pane.click_on_first_theme() assert first_theme in theme.theme_title
def test_that_up_and_coming_is_present_and_had_5_items(self, mozwebqa): """Test for Litmus 15074.""" discovery_pane = DiscoveryPane(mozwebqa, self.basepath) Assert.equal(5, discovery_pane.up_and_coming_item_count)
def test_that_featured_themes_go_to_their_landing_page_when_clicked(self, mozwebqa): """Test for Litmus 15081.""" discovery_pane = DiscoveryPane(mozwebqa, self.basepath(mozwebqa)) first_theme = discovery_pane.first_theme theme = discovery_pane.click_on_first_theme() Assert.contains(first_theme, theme.theme_title)