def test_page_without_root():
    driver = get_driver('chrome')
    wait = WebDriverWait(driver, 5)
    driver.get('https://www.google.com/')
    locator = (By.NAME, 'q')
    element = BasePageElement(locator, wait=wait)
    element.write('Selenium')
    assert element.get_value() == 'Selenium'
    driver.quit()
def test_base_page_with_root():
    driver = get_driver('chrome')
    driver.get('https://www.google.com/')
    root_element = driver.find_element_by_class_name('SDkEP')
    locator = (By.NAME, 'q')
    element = BasePageElement(locator, root=root_element)
    element.write('Selenium')
    assert element.get_value() == 'Selenium'
    driver.quit()
Esempio n. 3
0
class Google(BasePage):
    """Google base page."""

    def __init__(self, driver: WebDriver, timeout: int = 5):
        super().__init__(driver, _URL, timeout)
        self.__search_textbox = BasePageElement(GoogleLocators.SEARCH_TEXT_BOX, wait=self._wait)
        self.__search_btn = BasePageElement(GoogleLocators.SEARCH_BTN, wait=self._wait)
        self.__feeling_lucky_btn = BasePageElement(GoogleLocators.FEELING_LUCKY_BTN, wait=self._wait)

    def search(self, value):
        """Simple search."""
        self.__search_textbox.write(value)
        self.__search_btn.click()

    def feeling_lucky(self, value):
        """Feeling lucky search."""
        self.__search_textbox.write(value)
        self.__feeling_lucky_btn.click()
class ContactCheckout:
    """Represent Contact Info section"""

    def __init__(self, wait: WebDriverWait):
        self._wait = wait
        self._firstname = BasePageElement(CheckoutItemLoc.F_NAME, wait=wait)
        self._lastname = BasePageElement(CheckoutItemLoc.L_NAME, wait=wait)
        self._postal_code = BasePageElement(CheckoutItemLoc.ZIPCODE, wait=wait)
        self._error_msg = BasePageElement(CheckoutItemLoc.ERROR_MSG, wait=wait)
        self._cancel_btn = BasePageElement(CheckoutItemLoc.BTN_BACK, wait=wait)
        self._continue_btn = BasePageElement(CheckoutItemLoc.BTN_CONT, wait=wait)

    def fill_info(self, firstname="", lastname="", postal_code=""):
        self._firstname.write(firstname)
        self._lastname.write(lastname)
        self._postal_code.write(postal_code)

    def checkout(self):
        self._continue_btn.click()

    def back_to_cart(self):
        self._cancel_btn.click()

    def get_error_msg(self):
        return self._error_msg.get_text()
Esempio n. 5
0
class LoginPage(BasePage):
    """Sauce lab login."""
    def __init__(self, driver: WebDriver, timeout: int = 5):
        super().__init__(driver, _URL, timeout)
        self.__user = BasePageElement(LoginPageLoc.USER, wait=self._wait)
        self.__password = BasePageElement(LoginPageLoc.PASSWORD,
                                          wait=self._wait)
        self.__login = BasePageElement(LoginPageLoc.LOGIN, wait=self._wait)
        self.__error_msg = BasePageElement(LoginPageLoc.ERROR_MSG,
                                           wait=self._wait)

    def login(self, user, password):
        """Login to sauce lab"""
        self.__user.write(user)
        self.__password.write(password)
        self.__login.click()
        return InventoryPage(self._driver, self._timeout)

    def get_error_message(self) -> str:
        """Get login error message
        :return: Error message
        """
        return self.__error_msg.get_text()