Class ExpectedConditions


  • public class ExpectedConditions
    extends java.lang.Object
    Canned ExpectedConditions which are generally useful within webdriver tests.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static ExpectedCondition<org.openqa.selenium.Alert> alertIsPresent()  
      static ExpectedCondition<java.lang.Boolean> and​(ExpectedCondition<?>... conditions)
      An expectation with the logical and condition of the given list of conditions.
      static ExpectedCondition<java.lang.Boolean> attributeContains​(org.openqa.selenium.By locator, java.lang.String attribute, java.lang.String value)
      An expectation for checking WebElement with given locator has attribute which contains specific value
      static ExpectedCondition<java.lang.Boolean> attributeContains​(org.openqa.selenium.WebElement element, java.lang.String attribute, java.lang.String value)
      An expectation for checking WebElement with given locator has attribute which contains specific value
      static ExpectedCondition<java.lang.Boolean> attributeToBe​(org.openqa.selenium.By locator, java.lang.String attribute, java.lang.String value)
      An expectation for checking WebElement with given locator has attribute with a specific value
      static ExpectedCondition<java.lang.Boolean> attributeToBe​(org.openqa.selenium.WebElement element, java.lang.String attribute, java.lang.String value)
      An expectation for checking given WebElement has attribute with a specific value
      static ExpectedCondition<java.lang.Boolean> attributeToBeNotEmpty​(org.openqa.selenium.WebElement element, java.lang.String attribute)
      An expectation for checking WebElement any non empty value for given attribute
      static ExpectedCondition<java.lang.Boolean> elementSelectionStateToBe​(org.openqa.selenium.By locator, boolean selected)  
      static ExpectedCondition<java.lang.Boolean> elementSelectionStateToBe​(org.openqa.selenium.WebElement element, boolean selected)
      An expectation for checking if the given element is selected.
      static ExpectedCondition<org.openqa.selenium.WebElement> elementToBeClickable​(org.openqa.selenium.By locator)
      An expectation for checking an element is visible and enabled such that you can click it.
      static ExpectedCondition<org.openqa.selenium.WebElement> elementToBeClickable​(org.openqa.selenium.WebElement element)
      An expectation for checking an element is visible and enabled such that you can click it.
      static ExpectedCondition<java.lang.Boolean> elementToBeSelected​(org.openqa.selenium.By locator)  
      static ExpectedCondition<java.lang.Boolean> elementToBeSelected​(org.openqa.selenium.WebElement element)
      An expectation for checking if the given element is selected.
      static ExpectedCondition<org.openqa.selenium.WebDriver> frameToBeAvailableAndSwitchToIt​(int frameLocator)
      An expectation for checking whether the given frame is available to switch to.
      static ExpectedCondition<org.openqa.selenium.WebDriver> frameToBeAvailableAndSwitchToIt​(java.lang.String frameLocator)
      An expectation for checking whether the given frame is available to switch to.
      static ExpectedCondition<org.openqa.selenium.WebDriver> frameToBeAvailableAndSwitchToIt​(org.openqa.selenium.By locator)
      An expectation for checking whether the given frame is available to switch to.
      static ExpectedCondition<org.openqa.selenium.WebDriver> frameToBeAvailableAndSwitchToIt​(org.openqa.selenium.WebElement frameLocator)
      An expectation for checking whether the given frame is available to switch to.
      static ExpectedCondition<java.lang.Boolean> invisibilityOf​(org.openqa.selenium.WebElement element)
      An expectation for checking the element to be invisible
      static ExpectedCondition<java.lang.Boolean> invisibilityOfAllElements​(java.util.List<org.openqa.selenium.WebElement> elements)
      An expectation for checking all elements from given list to be invisible
      static ExpectedCondition<java.lang.Boolean> invisibilityOfAllElements​(org.openqa.selenium.WebElement... elements)
      An expectation for checking all elements from given list to be invisible
      static ExpectedCondition<java.lang.Boolean> invisibilityOfElementLocated​(org.openqa.selenium.By locator)
      An expectation for checking that an element is either invisible or not present on the DOM.
      static ExpectedCondition<java.lang.Boolean> invisibilityOfElementWithText​(org.openqa.selenium.By locator, java.lang.String text)
      An expectation for checking that an element with text is either invisible or not present on the DOM.
      static ExpectedCondition<java.lang.Boolean> javaScriptThrowsNoExceptions​(java.lang.String javaScript)
      An expectation to check if js executable.
      static ExpectedCondition<java.lang.Object> jsReturnsValue​(java.lang.String javaScript)
      An expectation for String value from javascript
      static ExpectedCondition<java.lang.Boolean> not​(ExpectedCondition<?> condition)
      An expectation with the logical opposite condition of the given condition.
      static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> numberOfElementsToBe​(org.openqa.selenium.By locator, java.lang.Integer number)
      An expectation for checking number of WebElements with given locator
      static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> numberOfElementsToBeLessThan​(org.openqa.selenium.By locator, java.lang.Integer number)
      An expectation for checking number of WebElements with given locator being less than defined number
      static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> numberOfElementsToBeMoreThan​(org.openqa.selenium.By locator, java.lang.Integer number)
      An expectation for checking number of WebElements with given locator being more than defined number
      static ExpectedCondition<java.lang.Boolean> numberOfWindowsToBe​(int expectedNumberOfWindows)  
      static ExpectedCondition<java.lang.Boolean> or​(ExpectedCondition<?>... conditions)
      An expectation with the logical or condition of the given list of conditions.
      static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> presenceOfAllElementsLocatedBy​(org.openqa.selenium.By locator)
      An expectation for checking that there is at least one element present on a web page.
      static ExpectedCondition<org.openqa.selenium.WebElement> presenceOfElementLocated​(org.openqa.selenium.By locator)
      An expectation for checking that an element is present on the DOM of a page.
      static ExpectedCondition<org.openqa.selenium.WebElement> presenceOfNestedElementLocatedBy​(org.openqa.selenium.By locator, org.openqa.selenium.By childLocator)
      An expectation for checking child WebElement as a part of parent element to present
      static ExpectedCondition<org.openqa.selenium.WebElement> presenceOfNestedElementLocatedBy​(org.openqa.selenium.WebElement element, org.openqa.selenium.By childLocator)
      An expectation for checking child WebElement as a part of parent element to be present
      static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> presenceOfNestedElementsLocatedBy​(org.openqa.selenium.By parent, org.openqa.selenium.By childLocator)
      An expectation for checking child WebElement as a part of parent element to present
      static <T> ExpectedCondition<T> refreshed​(ExpectedCondition<T> condition)
      Wrapper for a condition, which allows for elements to update by redrawing.
      static ExpectedCondition<java.lang.Boolean> stalenessOf​(org.openqa.selenium.WebElement element)
      Wait until an element is no longer attached to the DOM.
      static ExpectedCondition<java.lang.Boolean> textMatches​(org.openqa.selenium.By locator, java.util.regex.Pattern pattern)
      An expectation for checking WebElement with given locator has text with a value as a part of it
      static ExpectedCondition<java.lang.Boolean> textToBe​(org.openqa.selenium.By locator, java.lang.String value)
      An expectation for checking WebElement with given locator has specific text
      static ExpectedCondition<java.lang.Boolean> textToBePresentInElement​(org.openqa.selenium.WebElement element, java.lang.String text)
      An expectation for checking if the given text is present in the specified element.
      static ExpectedCondition<java.lang.Boolean> textToBePresentInElementLocated​(org.openqa.selenium.By locator, java.lang.String text)
      An expectation for checking if the given text is present in the element that matches the given locator.
      static ExpectedCondition<java.lang.Boolean> textToBePresentInElementValue​(org.openqa.selenium.By locator, java.lang.String text)
      An expectation for checking if the given text is present in the specified elements value attribute.
      static ExpectedCondition<java.lang.Boolean> textToBePresentInElementValue​(org.openqa.selenium.WebElement element, java.lang.String text)
      An expectation for checking if the given text is present in the specified elements value attribute.
      static ExpectedCondition<java.lang.Boolean> titleContains​(java.lang.String title)
      An expectation for checking that the title contains a case-sensitive substring
      static ExpectedCondition<java.lang.Boolean> titleIs​(java.lang.String title)
      An expectation for checking the title of a page.
      static ExpectedCondition<java.lang.Boolean> urlContains​(java.lang.String fraction)
      An expectation for the URL of the current page to contain specific text.
      static ExpectedCondition<java.lang.Boolean> urlMatches​(java.lang.String regex)
      Expectation for the URL to match a specific regular expression
      static ExpectedCondition<java.lang.Boolean> urlToBe​(java.lang.String url)
      An expectation for the URL of the current page to be a specific url.
      static ExpectedCondition<org.openqa.selenium.WebElement> visibilityOf​(org.openqa.selenium.WebElement element)
      An expectation for checking that an element, known to be present on the DOM of a page, is visible.
      static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> visibilityOfAllElements​(java.util.List<org.openqa.selenium.WebElement> elements)
      An expectation for checking that all elements present on the web page that match the locator are visible.
      static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> visibilityOfAllElements​(org.openqa.selenium.WebElement... elements)
      An expectation for checking that all elements present on the web page that match the locator are visible.
      static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> visibilityOfAllElementsLocatedBy​(org.openqa.selenium.By locator)
      An expectation for checking that all elements present on the web page that match the locator are visible.
      static ExpectedCondition<org.openqa.selenium.WebElement> visibilityOfElementLocated​(org.openqa.selenium.By locator)
      An expectation for checking that an element is present on the DOM of a page and visible.
      static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> visibilityOfNestedElementsLocatedBy​(org.openqa.selenium.By parent, org.openqa.selenium.By childLocator)
      An expectation for checking child WebElement as a part of parent element to be visible
      static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> visibilityOfNestedElementsLocatedBy​(org.openqa.selenium.WebElement element, org.openqa.selenium.By childLocator)
      An expectation for checking child WebElement as a part of parent element to be visible
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • titleIs

        public static ExpectedCondition<java.lang.Boolean> titleIs​(java.lang.String title)
        An expectation for checking the title of a page.
        Parameters:
        title - the expected title, which must be an exact match
        Returns:
        true when the title matches, false otherwise
      • titleContains

        public static ExpectedCondition<java.lang.Boolean> titleContains​(java.lang.String title)
        An expectation for checking that the title contains a case-sensitive substring
        Parameters:
        title - the fragment of title expected
        Returns:
        true when the title matches, false otherwise
      • urlToBe

        public static ExpectedCondition<java.lang.Boolean> urlToBe​(java.lang.String url)
        An expectation for the URL of the current page to be a specific url.
        Parameters:
        url - the url that the page should be on
        Returns:
        true when the URL is what it should be
      • urlContains

        public static ExpectedCondition<java.lang.Boolean> urlContains​(java.lang.String fraction)
        An expectation for the URL of the current page to contain specific text.
        Parameters:
        fraction - the fraction of the url that the page should be on
        Returns:
        true when the URL contains the text
      • urlMatches

        public static ExpectedCondition<java.lang.Boolean> urlMatches​(java.lang.String regex)
        Expectation for the URL to match a specific regular expression
        Parameters:
        regex - the regular expression that the URL should match
        Returns:
        true if the URL matches the specified regular expression
      • presenceOfElementLocated

        public static ExpectedCondition<org.openqa.selenium.WebElement> presenceOfElementLocated​(org.openqa.selenium.By locator)
        An expectation for checking that an element is present on the DOM of a page. This does not necessarily mean that the element is visible.
        Parameters:
        locator - used to find the element
        Returns:
        the WebElement once it is located
      • visibilityOfElementLocated

        public static ExpectedCondition<org.openqa.selenium.WebElement> visibilityOfElementLocated​(org.openqa.selenium.By locator)
        An expectation for checking that an element is present on the DOM of a page and visible. Visibility means that the element is not only displayed but also has a height and width that is greater than 0.
        Parameters:
        locator - used to find the element
        Returns:
        the WebElement once it is located and visible
      • visibilityOfAllElementsLocatedBy

        public static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> visibilityOfAllElementsLocatedBy​(org.openqa.selenium.By locator)
        An expectation for checking that all elements present on the web page that match the locator are visible. Visibility means that the elements are not only displayed but also have a height and width that is greater than 0.
        Parameters:
        locator - used to find the element
        Returns:
        the list of WebElements once they are located
      • visibilityOfAllElements

        public static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> visibilityOfAllElements​(org.openqa.selenium.WebElement... elements)
        An expectation for checking that all elements present on the web page that match the locator are visible. Visibility means that the elements are not only displayed but also have a height and width that is greater than 0.
        Parameters:
        elements - list of WebElements
        Returns:
        the list of WebElements once they are located
      • visibilityOfAllElements

        public static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> visibilityOfAllElements​(java.util.List<org.openqa.selenium.WebElement> elements)
        An expectation for checking that all elements present on the web page that match the locator are visible. Visibility means that the elements are not only displayed but also have a height and width that is greater than 0.
        Parameters:
        elements - list of WebElements
        Returns:
        the list of WebElements once they are located
      • visibilityOf

        public static ExpectedCondition<org.openqa.selenium.WebElement> visibilityOf​(org.openqa.selenium.WebElement element)
        An expectation for checking that an element, known to be present on the DOM of a page, is visible. Visibility means that the element is not only displayed but also has a height and width that is greater than 0.
        Parameters:
        element - the WebElement
        Returns:
        the (same) WebElement once it is visible
      • presenceOfAllElementsLocatedBy

        public static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> presenceOfAllElementsLocatedBy​(org.openqa.selenium.By locator)
        An expectation for checking that there is at least one element present on a web page.
        Parameters:
        locator - used to find the element
        Returns:
        the list of WebElements once they are located
      • textToBePresentInElement

        public static ExpectedCondition<java.lang.Boolean> textToBePresentInElement​(org.openqa.selenium.WebElement element,
                                                                                    java.lang.String text)
        An expectation for checking if the given text is present in the specified element.
        Parameters:
        element - the WebElement
        text - to be present in the element
        Returns:
        true once the element contains the given text
      • textToBePresentInElementLocated

        public static ExpectedCondition<java.lang.Boolean> textToBePresentInElementLocated​(org.openqa.selenium.By locator,
                                                                                           java.lang.String text)
        An expectation for checking if the given text is present in the element that matches the given locator.
        Parameters:
        locator - used to find the element
        text - to be present in the element found by the locator
        Returns:
        true once the first element located by locator contains the given text
      • textToBePresentInElementValue

        public static ExpectedCondition<java.lang.Boolean> textToBePresentInElementValue​(org.openqa.selenium.WebElement element,
                                                                                         java.lang.String text)
        An expectation for checking if the given text is present in the specified elements value attribute.
        Parameters:
        element - the WebElement
        text - to be present in the element's value attribute
        Returns:
        true once the element's value attribute contains the given text
      • textToBePresentInElementValue

        public static ExpectedCondition<java.lang.Boolean> textToBePresentInElementValue​(org.openqa.selenium.By locator,
                                                                                         java.lang.String text)
        An expectation for checking if the given text is present in the specified elements value attribute.
        Parameters:
        locator - used to find the element
        text - to be present in the value attribute of the element found by the locator
        Returns:
        true once the value attribute of the first element located by locator contains the given text
      • frameToBeAvailableAndSwitchToIt

        public static ExpectedCondition<org.openqa.selenium.WebDriver> frameToBeAvailableAndSwitchToIt​(java.lang.String frameLocator)
        An expectation for checking whether the given frame is available to switch to.

        If the frame is available it switches the given driver to the specified frame.

        Parameters:
        frameLocator - used to find the frame (id or name)
        Returns:
        WebDriver instance after frame has been switched
      • frameToBeAvailableAndSwitchToIt

        public static ExpectedCondition<org.openqa.selenium.WebDriver> frameToBeAvailableAndSwitchToIt​(org.openqa.selenium.By locator)
        An expectation for checking whether the given frame is available to switch to.

        If the frame is available it switches the given driver to the specified frame.

        Parameters:
        locator - used to find the frame
        Returns:
        WebDriver instance after frame has been switched
      • frameToBeAvailableAndSwitchToIt

        public static ExpectedCondition<org.openqa.selenium.WebDriver> frameToBeAvailableAndSwitchToIt​(int frameLocator)
        An expectation for checking whether the given frame is available to switch to.

        If the frame is available it switches the given driver to the specified frameIndex.

        Parameters:
        frameLocator - used to find the frame (index)
        Returns:
        WebDriver instance after frame has been switched
      • frameToBeAvailableAndSwitchToIt

        public static ExpectedCondition<org.openqa.selenium.WebDriver> frameToBeAvailableAndSwitchToIt​(org.openqa.selenium.WebElement frameLocator)
        An expectation for checking whether the given frame is available to switch to.

        If the frame is available it switches the given driver to the specified webelement.

        Parameters:
        frameLocator - used to find the frame (webelement)
        Returns:
        WebDriver instance after frame has been switched
      • invisibilityOfElementLocated

        public static ExpectedCondition<java.lang.Boolean> invisibilityOfElementLocated​(org.openqa.selenium.By locator)
        An expectation for checking that an element is either invisible or not present on the DOM.
        Parameters:
        locator - used to find the element
        Returns:
        true if the element is not displayed or the element doesn't exist or stale element
      • invisibilityOfElementWithText

        public static ExpectedCondition<java.lang.Boolean> invisibilityOfElementWithText​(org.openqa.selenium.By locator,
                                                                                         java.lang.String text)
        An expectation for checking that an element with text is either invisible or not present on the DOM.
        Parameters:
        locator - used to find the element
        text - of the element
        Returns:
        true if no such element, stale element or displayed text not equal that provided
      • elementToBeClickable

        public static ExpectedCondition<org.openqa.selenium.WebElement> elementToBeClickable​(org.openqa.selenium.By locator)
        An expectation for checking an element is visible and enabled such that you can click it.
        Parameters:
        locator - used to find the element
        Returns:
        the WebElement once it is located and clickable (visible and enabled)
      • elementToBeClickable

        public static ExpectedCondition<org.openqa.selenium.WebElement> elementToBeClickable​(org.openqa.selenium.WebElement element)
        An expectation for checking an element is visible and enabled such that you can click it.
        Parameters:
        element - the WebElement
        Returns:
        the (same) WebElement once it is clickable (visible and enabled)
      • stalenessOf

        public static ExpectedCondition<java.lang.Boolean> stalenessOf​(org.openqa.selenium.WebElement element)
        Wait until an element is no longer attached to the DOM.
        Parameters:
        element - The element to wait for.
        Returns:
        false if the element is still attached to the DOM, true otherwise.
      • refreshed

        public static <T> ExpectedCondition<T> refreshed​(ExpectedCondition<T> condition)
        Wrapper for a condition, which allows for elements to update by redrawing. This works around the problem of conditions which have two parts: find an element and then check for some condition on it. For these conditions it is possible that an element is located and then subsequently it is redrawn on the client. When this happens a StaleElementReferenceException is thrown when the second part of the condition is checked.
        Type Parameters:
        T - return type of the condition provided
        Parameters:
        condition - ExpectedCondition to wrap
        Returns:
        the result of the provided condition
      • elementToBeSelected

        public static ExpectedCondition<java.lang.Boolean> elementToBeSelected​(org.openqa.selenium.WebElement element)
        An expectation for checking if the given element is selected.
        Parameters:
        element - WebElement to be selected
        Returns:
        true once the element is selected
      • elementSelectionStateToBe

        public static ExpectedCondition<java.lang.Boolean> elementSelectionStateToBe​(org.openqa.selenium.WebElement element,
                                                                                     boolean selected)
        An expectation for checking if the given element is selected.
        Parameters:
        element - WebElement to be selected
        selected - boolean state of the selection state of the element
        Returns:
        true once the element's selection stated is that of selected
      • elementToBeSelected

        public static ExpectedCondition<java.lang.Boolean> elementToBeSelected​(org.openqa.selenium.By locator)
      • elementSelectionStateToBe

        public static ExpectedCondition<java.lang.Boolean> elementSelectionStateToBe​(org.openqa.selenium.By locator,
                                                                                     boolean selected)
      • alertIsPresent

        public static ExpectedCondition<org.openqa.selenium.Alert> alertIsPresent()
      • numberOfWindowsToBe

        public static ExpectedCondition<java.lang.Boolean> numberOfWindowsToBe​(int expectedNumberOfWindows)
      • not

        public static ExpectedCondition<java.lang.Boolean> not​(ExpectedCondition<?> condition)
        An expectation with the logical opposite condition of the given condition. Note that if the Condition you are inverting throws an exception that is caught by the Ignored Exceptions, the inversion will not take place and lead to confusing results.
        Parameters:
        condition - ExpectedCondition to be inverted
        Returns:
        true once the condition is satisfied
      • attributeToBe

        public static ExpectedCondition<java.lang.Boolean> attributeToBe​(org.openqa.selenium.By locator,
                                                                         java.lang.String attribute,
                                                                         java.lang.String value)
        An expectation for checking WebElement with given locator has attribute with a specific value
        Parameters:
        locator - used to find the element
        attribute - used to define css or html attribute
        value - used as expected attribute value
        Returns:
        Boolean true when element has css or html attribute with the value
      • textToBe

        public static ExpectedCondition<java.lang.Boolean> textToBe​(org.openqa.selenium.By locator,
                                                                    java.lang.String value)
        An expectation for checking WebElement with given locator has specific text
        Parameters:
        locator - used to find the element
        value - used as expected text
        Returns:
        Boolean true when element has text value equal to @value
      • textMatches

        public static ExpectedCondition<java.lang.Boolean> textMatches​(org.openqa.selenium.By locator,
                                                                       java.util.regex.Pattern pattern)
        An expectation for checking WebElement with given locator has text with a value as a part of it
        Parameters:
        locator - used to find the element
        pattern - used as expected text matcher pattern
        Returns:
        Boolean true when element has text value containing @value
      • numberOfElementsToBeMoreThan

        public static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> numberOfElementsToBeMoreThan​(org.openqa.selenium.By locator,
                                                                                                                     java.lang.Integer number)
        An expectation for checking number of WebElements with given locator being more than defined number
        Parameters:
        locator - used to find the element
        number - used to define minimum number of elements
        Returns:
        Boolean true when size of elements list is more than defined
      • numberOfElementsToBeLessThan

        public static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> numberOfElementsToBeLessThan​(org.openqa.selenium.By locator,
                                                                                                                     java.lang.Integer number)
        An expectation for checking number of WebElements with given locator being less than defined number
        Parameters:
        locator - used to find the element
        number - used to define maximum number of elements
        Returns:
        Boolean true when size of elements list is less than defined
      • numberOfElementsToBe

        public static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> numberOfElementsToBe​(org.openqa.selenium.By locator,
                                                                                                             java.lang.Integer number)
        An expectation for checking number of WebElements with given locator
        Parameters:
        locator - used to find the element
        number - used to define number of elements
        Returns:
        Boolean true when size of elements list is equal to defined
      • attributeToBe

        public static ExpectedCondition<java.lang.Boolean> attributeToBe​(org.openqa.selenium.WebElement element,
                                                                         java.lang.String attribute,
                                                                         java.lang.String value)
        An expectation for checking given WebElement has attribute with a specific value
        Parameters:
        element - used to check its parameters
        attribute - used to define css or html attribute
        value - used as expected attribute value
        Returns:
        Boolean true when element has css or html attribute with the value
      • attributeContains

        public static ExpectedCondition<java.lang.Boolean> attributeContains​(org.openqa.selenium.WebElement element,
                                                                             java.lang.String attribute,
                                                                             java.lang.String value)
        An expectation for checking WebElement with given locator has attribute which contains specific value
        Parameters:
        element - used to check its parameters
        attribute - used to define css or html attribute
        value - used as expected attribute value
        Returns:
        Boolean true when element has css or html attribute which contains the value
      • attributeContains

        public static ExpectedCondition<java.lang.Boolean> attributeContains​(org.openqa.selenium.By locator,
                                                                             java.lang.String attribute,
                                                                             java.lang.String value)
        An expectation for checking WebElement with given locator has attribute which contains specific value
        Parameters:
        locator - used to define WebElement to check its parameters
        attribute - used to define css or html attribute
        value - used as expected attribute value
        Returns:
        Boolean true when element has css or html attribute which contains the value
      • attributeToBeNotEmpty

        public static ExpectedCondition<java.lang.Boolean> attributeToBeNotEmpty​(org.openqa.selenium.WebElement element,
                                                                                 java.lang.String attribute)
        An expectation for checking WebElement any non empty value for given attribute
        Parameters:
        element - used to check its parameters
        attribute - used to define css or html attribute
        Returns:
        Boolean true when element has css or html attribute with non empty value
      • visibilityOfNestedElementsLocatedBy

        public static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> visibilityOfNestedElementsLocatedBy​(org.openqa.selenium.By parent,
                                                                                                                            org.openqa.selenium.By childLocator)
        An expectation for checking child WebElement as a part of parent element to be visible
        Parameters:
        parent - used to check parent element. For example table with locator By.id("fish")
        childLocator - used to find the ultimate child element.
        Returns:
        visible nested element
      • visibilityOfNestedElementsLocatedBy

        public static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> visibilityOfNestedElementsLocatedBy​(org.openqa.selenium.WebElement element,
                                                                                                                            org.openqa.selenium.By childLocator)
        An expectation for checking child WebElement as a part of parent element to be visible
        Parameters:
        element - used as parent element. For example table with locator By.xpath("//table")
        childLocator - used to find child element. For example td By.xpath("./tr/td")
        Returns:
        visible subelement
      • presenceOfNestedElementLocatedBy

        public static ExpectedCondition<org.openqa.selenium.WebElement> presenceOfNestedElementLocatedBy​(org.openqa.selenium.By locator,
                                                                                                         org.openqa.selenium.By childLocator)
        An expectation for checking child WebElement as a part of parent element to present
        Parameters:
        locator - used to check parent element. For example table with locator By.xpath("//table")
        childLocator - used to find child element. For example td By.xpath("./tr/td")
        Returns:
        subelement
      • presenceOfNestedElementLocatedBy

        public static ExpectedCondition<org.openqa.selenium.WebElement> presenceOfNestedElementLocatedBy​(org.openqa.selenium.WebElement element,
                                                                                                         org.openqa.selenium.By childLocator)
        An expectation for checking child WebElement as a part of parent element to be present
        Parameters:
        element - used as parent element
        childLocator - used to find child element. For example td By.xpath("./tr/td")
        Returns:
        subelement
      • presenceOfNestedElementsLocatedBy

        public static ExpectedCondition<java.util.List<org.openqa.selenium.WebElement>> presenceOfNestedElementsLocatedBy​(org.openqa.selenium.By parent,
                                                                                                                          org.openqa.selenium.By childLocator)
        An expectation for checking child WebElement as a part of parent element to present
        Parameters:
        parent - used to check parent element. For example table with locator By.xpath("//table")
        childLocator - used to find child element. For example td By.xpath("./tr/td")
        Returns:
        subelement
      • invisibilityOfAllElements

        public static ExpectedCondition<java.lang.Boolean> invisibilityOfAllElements​(org.openqa.selenium.WebElement... elements)
        An expectation for checking all elements from given list to be invisible
        Parameters:
        elements - used to check their invisibility
        Returns:
        Boolean true when all elements are not visible anymore
      • invisibilityOfAllElements

        public static ExpectedCondition<java.lang.Boolean> invisibilityOfAllElements​(java.util.List<org.openqa.selenium.WebElement> elements)
        An expectation for checking all elements from given list to be invisible
        Parameters:
        elements - used to check their invisibility
        Returns:
        Boolean true when all elements are not visible anymore
      • invisibilityOf

        public static ExpectedCondition<java.lang.Boolean> invisibilityOf​(org.openqa.selenium.WebElement element)
        An expectation for checking the element to be invisible
        Parameters:
        element - used to check its invisibility
        Returns:
        Boolean true when elements is not visible anymore
      • or

        public static ExpectedCondition<java.lang.Boolean> or​(ExpectedCondition<?>... conditions)
        An expectation with the logical or condition of the given list of conditions. Each condition is checked until at least one of them returns true or not null.
        Parameters:
        conditions - ExpectedCondition is a list of alternative conditions
        Returns:
        true once one of conditions is satisfied
      • and

        public static ExpectedCondition<java.lang.Boolean> and​(ExpectedCondition<?>... conditions)
        An expectation with the logical and condition of the given list of conditions. Each condition is checked until all of them return true or not null
        Parameters:
        conditions - ExpectedCondition is a list of alternative conditions
        Returns:
        true once all conditions are satisfied
      • javaScriptThrowsNoExceptions

        public static ExpectedCondition<java.lang.Boolean> javaScriptThrowsNoExceptions​(java.lang.String javaScript)
        An expectation to check if js executable. Useful when you know that there should be a Javascript value or something at the stage.
        Parameters:
        javaScript - used as executable script
        Returns:
        true once javaScript executed without errors
      • jsReturnsValue

        public static ExpectedCondition<java.lang.Object> jsReturnsValue​(java.lang.String javaScript)
        An expectation for String value from javascript
        Parameters:
        javaScript - as executable js line
        Returns:
        true once js return string