The base WebElement class from which all cusom WebElements should extend. This class can also be used (instantiated) directly if no component-specific WebElement exists for a custom component. All WebElement commands which call remote operations on the browser are overidden to first:

  • Capture screenshots prior to command execution. This aids in debugging if the command should fail.
  • Wait for the page-level BusyContext to clear. This ensures any asynchronous activity in the application is complete before the test continues. Note that commands which interact with the DOM (such as click, sendKeys, etc) will also wait for the element to be present and have a size in the DOM (whenReady), while other "read" methods (getAttribute, isEnabled, etc) only wait for the BusyContext to clear (whenBusyContextReady).
  • Trap StaleElementException and retry. This automatic trapping and retrying for StaleElementExceptions allow tests to be more resilient against UI activities which may move/recreate DOM nodes, typically resulting in failed old references from WebElements to DOM nodes. If a StaleElementException is encountered for any remote command, OjWebElement will requery the DOM node and try the command again. This is implemented for all remote commands except getTagName because, interally, WebDriver uses that command in its until.stalenessOf test condition.

Hierarchy

Constructors

  • Constructor. Pass an instance of WebDriver's WebElement that represents the DOM node on which we"ll perform operations.

    Parameters

    • el: WebElement

      The basic WebElement with which this WebElement will work.

    • locators: ElementLocators

    Returns OjWebElement

Methods

  • Returns Promise<void>

    Inherit Doc

  • Returns Promise<void>

    Inherit Doc

  • Parameters

    • locator: Locator

    Returns WebElementPromise

    Inherit Doc

  • Parameters

    • locator: Locator

    Returns Promise<WebElement[]>

    Inherit Doc

  • Parameters

    • attributeName: string

    Returns Promise<string>

    Inherit Doc

  • Parameters

    • cssStyleProperty: string

    Returns Promise<string>

    Inherit Doc

  • Returns Promise<ILocation>

    Inherit Doc

  • Get a named property value from this component. This function will wait for the application's busy context to complete before attempting to get the property value.

    Type Parameters

    • T = string

    Parameters

    • propertyName: string

      The name of the property

    Returns Promise<T>

    A Promise that yields a value for the named property.

  • Returns Promise<IRectangle>

    Inherit Doc

  • Returns Promise<ISize>

    Inherit Doc

  • Returns Promise<string>

    Inherit Doc

  • Create a wait condition that is satisfied when the element's DOM has a non-zero size.

    Returns Condition<Promise<boolean>>

    The Condition to be used with driver.wait() that's satisfied when the element's DOM has a non-zero size.

    Deprecated

    Since 11.0.0. Call the appropriate WebElement method to test the size of the element.

  • Create a wait condition that is satisfid when the element is visible. The condition is satisfied when the element is displayed, as reported by #isDisplayed, and is scrolled into view. This is method is deprecated. Use WebElement.isDisplayed instead to test the display of the element, and scroll it into view if necessary.

    Returns Condition<Promise<boolean>>

    Deprecated

  • Returns Promise<boolean>

    Inherit Doc

  • Returns Promise<boolean>

    Inherit Doc

  • Returns Promise<boolean>

    Inherit Doc

  • Parameters

    • Rest ...varArgs: (string | number | Promise<string | number>)[]

    Returns Promise<void>

    Inherit Doc

  • Set a property value on the remote element. This function first waits for the BusyContext to clear before setting the property, then after setting, waits again to ensure that no additional busy states were created due to the property setting.

    Type Parameters

    • T = string

    Parameters

    • propertyName: string

      The property name to set

    • value: T

      The value to set for the property

    Returns Promise<void>

    A Promise which resolves when the remote property has been set to the value. Any value returned from the call to set the remote property is returned in the Promise.

  • Returns Promise<void>

    Inherit Doc

  • Parameters

    • Optional optScroll: boolean

    Returns Promise<string>

    Inherit Doc

  • Returns a Promise that is resolved when the application's busy state reports ready. This method checks only that the application's busy context is ready, and not that the DOM element is actually displayed or has a physical size, such as is the case with #whenReady. Operations which are read-only in nature should call this method prior to execution.

    Returns Promise<void>

    A Promise which is resolved when the page's busy state is ready.

  • Returns a Promise that is resolved when the element is ready for interaction--it is visible, has a size, and the app's busy context is ready. Operations on the DOM which rely on its physical location and size to be in a "ready" state should use this command, such as clicking, sending keys, locating child elements, and so on.

    Returns Promise<void>

    A Promise that's resolved when all conditions are met.

Generated using TypeDoc