Beispiel #1
0
def test_seed_url_keywords_multiple_params(base_url, driver):
    value = ("foo", "bar")
    page = Page(driver, base_url, key=value)
    seed_url = page.seed_url
    assert "key={}".format(value[0]) in seed_url
    assert "key={}".format(value[1]) in seed_url
    import re

    assert re.match("{}\?key=(foo|bar)&key=(foo|bar)".format(base_url), seed_url)
Beispiel #2
0
def test_seed_url_keywords_multiple_params_special(base_url, driver):
    value = ("foo", "mozilla&co")
    page = Page(driver, base_url, key=value)
    seed_url = page.seed_url
    assert "key=foo" in seed_url
    assert "key=mozilla%26co" in seed_url
    import re

    assert re.match(
        "{}\?key=(foo|mozilla%26co)&key=(foo|mozilla%26co)".format(base_url), seed_url
    )
Beispiel #3
0
    def close(self) -> Page:
        """Click on the window close button.

        :return: the tooltip's parent page
        :rtype: :py:class:`~pypom.Page`

        """
        Page = self.page.__class__
        button = self.find_element(*self._close_tooltip_locator)
        Utility.click_option(self.driver, element=button)
        sleep(0.5)
        return Page(self.driver, self.page.base_url)
Beispiel #4
0
        def redirect(self) -> Page:
            """Click the redirect 'x' button.

            :return: the originating page or the user profile if the originator
                is Accounts
            :rtype: :py:class:`~pypom.Page` or
                :py:class:`~pages.accounts.profile.Profile`

            """
            button = self.find_element(*self._redirect_back_button_locator)
            Utility.click_option(self.driver, element=button)
            sleep(0.5)
            if 'profile' in self.driver.current_url:
                return self.page
            return Page(self.driver)
Beispiel #5
0
        def i_agree(self) -> Page:
            """Click the 'I AGREE' button.

            :return: the user's profile, another policy accept page, or the
                redirect back to the page that preceded the log in
            :rtype: :py:class:`~pypom.Page`

            """
            another_contract = '&terms' in self.driver.current_url
            base_url = self.page.base_url
            button = self.find_element(*self._i_agree_button_locator)
            Utility.click_option(self.driver, element=button)
            if another_contract:
                return go_to_(AcceptTerms(self.driver, base_url=base_url))
            sleep(1.0)
            if 'profile' in self.driver.current_url:
                from pages.accounts.profile import Profile
                return go_to_(Profile(self.driver, base_url=base_url))
            return Page(self.driver)
Beispiel #6
0
def test_wait_for_page_empty_base_url(selenium):
    assert isinstance(Page(selenium).wait_for_page_to_load(), Page)
Beispiel #7
0
def test_open_seed_url_none(selenium):
    from pypom.exception import UsageError
    page = Page(selenium)
    with pytest.raises(UsageError):
        page.open()
Beispiel #8
0
def test_seed_url_empty(selenium):
    page = Page(selenium)
    assert page.seed_url is None
Beispiel #9
0
def test_open_seed_url_none(selenium):
    from pypom.exception import UsageError
    page = Page(selenium)
    with pytest.raises(UsageError):
        page.open()
Beispiel #10
0
def test_wait_for_page_empty_base_url(driver):
    assert isinstance(Page(driver).wait_for_page_to_load(), Page)
Beispiel #11
0
def page(selenium, base_url):
    from pypom import Page
    return Page(selenium, base_url)
Beispiel #12
0
def page(splinter, base_url):
    from pypom import Page
    return Page(splinter, base_url)
Beispiel #13
0
def test_seed_url_empty(driver):
    page = Page(driver)
    assert page.seed_url is None
Beispiel #14
0
def test_wait_for_page_empty_base_url(selenium):
    selenium.current_url = str(random.random())
    page = Page(selenium)
    assert isinstance(page.wait_for_page_to_load(), Page)
Beispiel #15
0
def page(driver, base_url):
    from pypom import Page
    return Page(driver, base_url)
Beispiel #16
0
def test_seed_url_keywords_params_special(base_url, driver):
    value = "mozilla&co"
    page = Page(driver, base_url, key=value)
    assert "{}?key={}".format(base_url, "mozilla%26co") == page.seed_url
Beispiel #17
0
def test_seed_url_keywords_params_space(base_url, driver):
    value = "a value"
    page = Page(driver, base_url, key=value)
    assert "{}?key={}".format(base_url, "a+value") == page.seed_url
Beispiel #18
0
def test_seed_url_keywords_params(base_url, driver):
    value = str(random.random())
    page = Page(driver, base_url, key=value)
    assert "{}?key={}".format(base_url, value) == page.seed_url