Package core

Class BasePage

java.lang.Object
core.BasePage
Direct Known Subclasses:
InboxPage, LoginPage

public abstract class BasePage extends Object
Author:
kote
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final Duration
     
    protected final org.openqa.selenium.WebDriver
     
    protected static final Duration
     
    protected final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    BasePage(org.openqa.selenium.WebDriver driver, String uri)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    clickAndSelectValue(org.openqa.selenium.WebElement selectizeInput, String value)
     
    void
     
    protected void
    doubleClick(org.openqa.selenium.WebElement element)
    Двойной клик по элементу.
    protected void
    editField(org.openqa.selenium.WebElement field, String value)
     
    protected void
    editNumberField(org.openqa.selenium.WebElement element, String newValue)
     
    protected org.openqa.selenium.WebElement
    findElement(org.openqa.selenium.By by)
     
    protected List<org.openqa.selenium.WebElement>
    findElements(org.openqa.selenium.By by)
     
    protected org.openqa.selenium.By
    getBy(String format, Object... args)
     
    protected List<String>
    getElementsTexts(List<org.openqa.selenium.WebElement> elements)
     
     
    protected static org.openqa.selenium.By
     
    protected List<String>
    getTexts(org.openqa.selenium.By stringBy)
     
    protected String
    getTitleFromElement(org.openqa.selenium.WebElement element)
     
    protected void
    hardClearField(org.openqa.selenium.WebElement input)
     
    boolean
     
    protected boolean
    isPresent(org.openqa.selenium.By element)
     
    boolean
     
    void
     
    protected void
    selectAddress(org.openqa.selenium.By addressInput, String value)
     
    protected void
     
    void
    sleep(long millis)
     
    boolean
     
    protected void
    timeToPresent(org.openqa.selenium.By element)
     
    protected void
    typeAndSelectValue(org.openqa.selenium.By input, String value)
     
    protected boolean
    waitForAttributeContains(org.openqa.selenium.WebElement webElement, String attribute, String value)
    Ожидание того, что указзнный элемент содержит атрибут с определенным значением
    protected boolean
    waitForAttributeContains(org.openqa.selenium.WebElement webElement, String attribute, String value, Duration timeout)
    Ожидание того, что указзнный элемент содержит атрибут с определенным значением
    protected org.openqa.selenium.WebElement
    waitForElementToBeClickable(org.openqa.selenium.By locator)
    Ожидание появления элемента в DOM, видимости и доступности элемента для нажатия.
    protected org.openqa.selenium.WebElement
    waitForElementToBeClickable(org.openqa.selenium.By locator, Duration timeout)
    Ожидание появления элемента в DOM, видимости и доступности элемента для нажатия.
    protected org.openqa.selenium.WebElement
    waitForElementToBeClickable(org.openqa.selenium.WebElement webElement)
    Ожидание видимости и доступности присутствующего в DOM элемента для нажатия.
    protected org.openqa.selenium.WebElement
    waitForElementToBeClickable(org.openqa.selenium.WebElement webElement, Duration timeout)
    Ожидание видимости и доступности присутствующего в DOM элемента для нажатия.
    protected boolean
    waitForInvisibilityOfElementLocated(org.openqa.selenium.By locator)
    Ожидание того, что элемент невидим или не представлен в DOM.
    protected boolean
    waitForInvisibilityOfElementLocated(org.openqa.selenium.By locator, Duration timeout)
    Ожидание того, что элемент невидим или не представлен в DOM.
    protected List<org.openqa.selenium.WebElement>
    waitForNumberOfElementsToBe(org.openqa.selenium.By locator, int number)
    Ожидание определенного количества элементов с указанным локатором.
    protected List<org.openqa.selenium.WebElement>
    waitForNumberOfElementsToBe(org.openqa.selenium.By locator, int number, Duration timeout)
    Ожидание определенного количества элементов с указанным локатором.
    void
     
    protected List<org.openqa.selenium.WebElement>
    waitForPresenceOfAllElementsLocatedBy(org.openqa.selenium.By locator)
    Ожидание того, что как минимум один элемент с указанным локатором представлен на странице.
    protected List<org.openqa.selenium.WebElement>
    waitForPresenceOfAllElementsLocatedBy(org.openqa.selenium.By locator, Duration timeout)
    Ожидание того, что как минимум один элемент с указанным локатором представлен на странице.
    protected boolean
    waitForStalenessOf(org.openqa.selenium.WebElement webElement)
    Ожидание того, что элемент больше не прикреплен к DOM
    protected boolean
    waitForStalenessOf(org.openqa.selenium.WebElement webElement, Duration timeout)
    Ожидание того, что элемент больше не прикреплен к DOM
    protected boolean
    waitForTextToBePresentInElement(org.openqa.selenium.WebElement webElement, String text)
    Ожидание наличия текста в определенном элементе
    protected boolean
    waitForTextToBePresentInElement(org.openqa.selenium.WebElement webElement, String text, Duration timeout)
    Ожидание наличия текста в определенном элементе
    protected boolean
    waitForTextToBePresentInElementLocated(org.openqa.selenium.By locator, String text)
    Ожидание наличия текста в элементе, соответствующем указанному локатору.
    protected boolean
    waitForTextToBePresentInElementLocated(org.openqa.selenium.By locator, String text, Duration timeout)
    Ожидание наличия текста в элементе, соответствующем указанному локатору.
    protected org.openqa.selenium.WebElement
    waitForVisibilityOf(org.openqa.selenium.WebElement webElement)
    Ожидание видимости элемента, присутствующего в DOM.
    protected org.openqa.selenium.WebElement
    waitForVisibilityOf(org.openqa.selenium.WebElement webElement, Duration timeout)
    Ожидание видимости элемента, присутствующего в DOM.
    protected org.openqa.selenium.WebElement
    waitForVisibilityOfElementLocated(org.openqa.selenium.By locator)
    Ожидание появления элемента в DOM и его видимости.
    protected org.openqa.selenium.WebElement
    waitForVisibilityOfElementLocated(org.openqa.selenium.By locator, Duration timeout)
    Ожидание появления элемента в DOM и его видимости.
    protected org.openqa.selenium.WebElement
    waitForVisibilityOfElementLocated(org.openqa.selenium.By locator, Duration timeout, Duration sleep)
    Ожидание появления элемента в DOM и его видимости.
    void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • SPECIAL_TIMEOUT

      protected static final Duration SPECIAL_TIMEOUT
    • DEFAULT_TIMEOUT

      protected static final Duration DEFAULT_TIMEOUT
    • driver

      protected final org.openqa.selenium.WebDriver driver
    • uri

      protected final String uri
  • Constructor Details

    • BasePage

      public BasePage(org.openqa.selenium.WebDriver driver, String uri)
  • Method Details

    • sleep

      public void sleep(long millis)
    • pageLoadSuccessfully

      public boolean pageLoadSuccessfully()
    • waitForPageToLoad

      public void waitForPageToLoad()
    • thereIsNoError

      public boolean thereIsNoError()
    • getErrorText

      public String getErrorText()
    • waitGridProgressBarNotVisible

      public void waitGridProgressBarNotVisible()
    • refreshPage

      public void refreshPage()
    • isDialogOpened

      public boolean isDialogOpened(String title)
    • clickOnButton

      public void clickOnButton(String name)
    • getProgressBar

      protected static org.openqa.selenium.By getProgressBar()
    • getBy

      protected org.openqa.selenium.By getBy(String format, Object... args)
    • isPresent

      protected boolean isPresent(org.openqa.selenium.By element)
    • timeToPresent

      protected void timeToPresent(org.openqa.selenium.By element)
    • clickAndSelectValue

      protected void clickAndSelectValue(org.openqa.selenium.WebElement selectizeInput, String value)
    • typeAndSelectValue

      protected void typeAndSelectValue(org.openqa.selenium.By input, String value)
    • selectAddress

      protected void selectAddress(org.openqa.selenium.By addressInput, String value)
    • selectRadiobutton

      protected void selectRadiobutton(String value)
    • editField

      protected void editField(org.openqa.selenium.WebElement field, String value)
    • editNumberField

      protected void editNumberField(org.openqa.selenium.WebElement element, String newValue)
    • hardClearField

      protected void hardClearField(org.openqa.selenium.WebElement input)
    • getTitleFromElement

      protected String getTitleFromElement(org.openqa.selenium.WebElement element)
    • getElementsTexts

      protected List<String> getElementsTexts(List<org.openqa.selenium.WebElement> elements)
    • getTexts

      protected List<String> getTexts(org.openqa.selenium.By stringBy)
    • findElement

      protected org.openqa.selenium.WebElement findElement(org.openqa.selenium.By by)
    • findElements

      protected List<org.openqa.selenium.WebElement> findElements(org.openqa.selenium.By by)
    • doubleClick

      protected void doubleClick(org.openqa.selenium.WebElement element)
      Двойной клик по элементу.
      Parameters:
      element - элемент, который присутствует в DOM
    • waitForVisibilityOf

      protected org.openqa.selenium.WebElement waitForVisibilityOf(org.openqa.selenium.WebElement webElement, Duration timeout)
      Ожидание видимости элемента, присутствующего в DOM. Видимость означает не только то, что элемент отобразился, но и то, что высота и ширина элемента больше 0.
      Parameters:
      webElement - элемент, который присутствует в DOM
      timeout - timeout ожидания
      Returns:
      веб-элемент, как только он видим
    • waitForVisibilityOf

      protected org.openqa.selenium.WebElement waitForVisibilityOf(org.openqa.selenium.WebElement webElement)
      Ожидание видимости элемента, присутствующего в DOM. Видимость означает не только то, что элемент отобразился, но и то, что высота и ширина элемента больше 0.
      Parameters:
      webElement - элемент, который присутствует в DOM
      Returns:
      веб-элемент, как только он видим
    • waitForVisibilityOfElementLocated

      protected org.openqa.selenium.WebElement waitForVisibilityOfElementLocated(org.openqa.selenium.By locator, Duration timeout)
      Ожидание появления элемента в DOM и его видимости. Видимость означает не только то, что элемент отобразился, но и то, что высота и ширина элемента больше 0.
      Parameters:
      locator - локатор, по которому находится элемент
      timeout - timeout ожидания
      Returns:
      веб-элемент, как только он найден и видим
    • waitForVisibilityOfElementLocated

      protected org.openqa.selenium.WebElement waitForVisibilityOfElementLocated(org.openqa.selenium.By locator)
      Ожидание появления элемента в DOM и его видимости. Видимость означает не только то, что элемент отобразился, но и то, что высота и ширина элемента больше 0.
      Parameters:
      locator - локатор, по которому находится элемент
      Returns:
      веб-элемент, как только он найден и видим
    • waitForVisibilityOfElementLocated

      protected org.openqa.selenium.WebElement waitForVisibilityOfElementLocated(org.openqa.selenium.By locator, Duration timeout, Duration sleep)
      Ожидание появления элемента в DOM и его видимости. Видимость означает не только то, что элемент отобразился, но и то, что высота и ширина элемента больше 0.
      Parameters:
      locator - локатор, по которому находится элемент
      timeout - timeout ожидания
      sleep - длительность между опросами
      Returns:
      веб-элемент, как только он найден и видим
    • waitForInvisibilityOfElementLocated

      protected boolean waitForInvisibilityOfElementLocated(org.openqa.selenium.By locator, Duration timeout)
      Ожидание того, что элемент невидим или не представлен в DOM.
      Parameters:
      locator - локатор, по которому находится элемент
      timeout - timeout ожидания
      Returns:
      true, когда элемент невидим или не найден в DOM
    • waitForInvisibilityOfElementLocated

      protected boolean waitForInvisibilityOfElementLocated(org.openqa.selenium.By locator)
      Ожидание того, что элемент невидим или не представлен в DOM.
      Parameters:
      locator - локатор, по которому находится элемент
      Returns:
      true, когда элемент невидим или не найден в DOM
    • waitForStalenessOf

      protected boolean waitForStalenessOf(org.openqa.selenium.WebElement webElement, Duration timeout)
      Ожидание того, что элемент больше не прикреплен к DOM
      Parameters:
      webElement - проверяемый элемент
      timeout - timeout ожидания
      Returns:
      true, когда элемент больше не прикреплен к DOM
    • waitForStalenessOf

      protected boolean waitForStalenessOf(org.openqa.selenium.WebElement webElement)
      Ожидание того, что элемент больше не прикреплен к DOM
      Parameters:
      webElement - проверяемый элемент
      Returns:
      true, когда элемент больше не прикреплен к DOM
    • waitForTextToBePresentInElementLocated

      protected boolean waitForTextToBePresentInElementLocated(org.openqa.selenium.By locator, String text, Duration timeout)
      Ожидание наличия текста в элементе, соответствующем указанному локатору.
      Parameters:
      locator - локатор, по которому находится элемент
      text - проверяемый текст
      timeout - timeout ожидания
      Returns:
      true при наличии текста в элементе
    • waitForTextToBePresentInElementLocated

      protected boolean waitForTextToBePresentInElementLocated(org.openqa.selenium.By locator, String text)
      Ожидание наличия текста в элементе, соответствующем указанному локатору.
      Parameters:
      locator - локатор, по которому находится элемент
      text - проверяемый текст
      Returns:
      true при наличии текста в элементе
    • waitForTextToBePresentInElement

      protected boolean waitForTextToBePresentInElement(org.openqa.selenium.WebElement webElement, String text, Duration timeout)
      Ожидание наличия текста в определенном элементе
      Parameters:
      webElement - проверяемый элемент
      text - проверяемый текст
      timeout - timeout ожидания
      Returns:
      true при наличии текста в элементе
    • waitForTextToBePresentInElement

      protected boolean waitForTextToBePresentInElement(org.openqa.selenium.WebElement webElement, String text)
      Ожидание наличия текста в определенном элементе
      Parameters:
      webElement - проверяемый элемент
      text - проверяемый текст
      Returns:
      true при наличии текста в элементе
    • waitForElementToBeClickable

      protected org.openqa.selenium.WebElement waitForElementToBeClickable(org.openqa.selenium.WebElement webElement, Duration timeout)
      Ожидание видимости и доступности присутствующего в DOM элемента для нажатия.
      Parameters:
      webElement - проверяемый элемент
      timeout - timeout ожидания
      Returns:
      веб-элемент, как только он доступен для нажатия
    • waitForElementToBeClickable

      protected org.openqa.selenium.WebElement waitForElementToBeClickable(org.openqa.selenium.WebElement webElement)
      Ожидание видимости и доступности присутствующего в DOM элемента для нажатия.
      Parameters:
      webElement - проверяемый элемент
      Returns:
      веб-элемент, как только он доступен для нажатия
    • waitForElementToBeClickable

      protected org.openqa.selenium.WebElement waitForElementToBeClickable(org.openqa.selenium.By locator, Duration timeout)
      Ожидание появления элемента в DOM, видимости и доступности элемента для нажатия.
      Parameters:
      locator - локатор, по которому находится элемент
      timeout - timeout ожидания
      Returns:
      веб-элемент, как только он доступен для нажатия
    • waitForElementToBeClickable

      protected org.openqa.selenium.WebElement waitForElementToBeClickable(org.openqa.selenium.By locator)
      Ожидание появления элемента в DOM, видимости и доступности элемента для нажатия.
      Parameters:
      locator - локатор, по которому находится элемент
      Returns:
      веб-элемент, как только он доступен для нажатия
    • waitForNumberOfElementsToBe

      protected List<org.openqa.selenium.WebElement> waitForNumberOfElementsToBe(org.openqa.selenium.By locator, int number, Duration timeout)
      Ожидание определенного количества элементов с указанным локатором.
      Parameters:
      locator - локатор, по которому находится элемент
      number - ожидаемое число элементов
      timeout - timeout ожидания
      Returns:
      список элементов с определенным количеством
    • waitForNumberOfElementsToBe

      protected List<org.openqa.selenium.WebElement> waitForNumberOfElementsToBe(org.openqa.selenium.By locator, int number)
      Ожидание определенного количества элементов с указанным локатором.
      Parameters:
      locator - локатор, по которому находится элемент
      number - ожидаемое число элементов
      Returns:
      список элементов с определенным количеством
    • waitForPresenceOfAllElementsLocatedBy

      protected List<org.openqa.selenium.WebElement> waitForPresenceOfAllElementsLocatedBy(org.openqa.selenium.By locator, Duration timeout)
      Ожидание того, что как минимум один элемент с указанным локатором представлен на странице. Полезно, когда нужно подождать динамический элемент.
      Parameters:
      locator - локатор, по которому находится элемент
      timeout - timeout ожидания
      Returns:
      список элементов с указанным локатором
    • waitForPresenceOfAllElementsLocatedBy

      protected List<org.openqa.selenium.WebElement> waitForPresenceOfAllElementsLocatedBy(org.openqa.selenium.By locator)
      Ожидание того, что как минимум один элемент с указанным локатором представлен на странице. Полезно, когда нужно подождать динамический элемент.
      Parameters:
      locator - локатор, по которому находится элемент
      Returns:
      список элементов с указанным локатором
    • waitForAttributeContains

      protected boolean waitForAttributeContains(org.openqa.selenium.WebElement webElement, String attribute, String value, Duration timeout)
      Ожидание того, что указзнный элемент содержит атрибут с определенным значением
      Parameters:
      webElement - проверяемый элемент
      attribute - проверяемый атрибут
      value - проверяемое значение
      timeout - timeout ожидания
      Returns:
      true при наличии значения в атрибуте
    • waitForAttributeContains

      protected boolean waitForAttributeContains(org.openqa.selenium.WebElement webElement, String attribute, String value)
      Ожидание того, что указзнный элемент содержит атрибут с определенным значением
      Parameters:
      webElement - проверяемый элемент
      attribute - проверяемый атрибут
      value - проверяемое значение
      Returns:
      true при наличии значения в атрибуте