예제 #1
0
 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
예제 #2
0
 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
예제 #5
0
    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)
예제 #6
0
 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
예제 #7
0
 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
예제 #8
0
    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)
예제 #9
0
    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
예제 #11
0
    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_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)
예제 #13
0
    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)
예제 #14
0
    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
예제 #15
0
    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
예제 #16
0
    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)
예제 #17
0
    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)
예제 #18
0
    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
예제 #19
0
 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
예제 #20
0
 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
예제 #21
0
    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)
예제 #22
0
 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
예제 #23
0
    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")
예제 #24
0
    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)
예제 #25
0
    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)
예제 #26
0
    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
예제 #27
0
 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)
예제 #28
0
 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
예제 #29
0
 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)
예제 #30
0
 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)
예제 #31
0
 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)
예제 #32
0
 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)
예제 #33
0
 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
예제 #34
0
 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)
예제 #35
0
 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)
예제 #36
0
 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
예제 #38
0
 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)
예제 #39
0
 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)