Class CollectionCondition

java.lang.Object
com.codeborne.selenide.CollectionCondition
All Implemented Interfaces:
Predicate<List<org.openqa.selenium.WebElement>>
Direct Known Subclasses:
ContainExactTextsCaseSensitive, ExactTexts, ItemWithText, ListSize, PredicateCollectionCondition, SizeGreaterThan, SizeGreaterThanOrEqual, SizeLessThan, SizeLessThanOrEqual, SizeNotEqual

@ParametersAreNonnullByDefault public abstract class CollectionCondition extends Object implements Predicate<List<org.openqa.selenium.WebElement>>
  • Field Details

  • Constructor Details

    • CollectionCondition

      public CollectionCondition()
  • Method Details

    • fail

      public abstract void fail(CollectionSource collection, @Nullable List<org.openqa.selenium.WebElement> elements, @Nullable Exception lastError, long timeoutMs)
    • size

      @CheckReturnValue public static CollectionCondition size(int expectedSize)
      Checks that collection has the given size
    • sizeGreaterThan

      @CheckReturnValue public static CollectionCondition sizeGreaterThan(int expectedSize)
    • sizeGreaterThanOrEqual

      @CheckReturnValue public static CollectionCondition sizeGreaterThanOrEqual(int expectedSize)
    • sizeLessThan

      @CheckReturnValue public static CollectionCondition sizeLessThan(int expectedSize)
    • sizeLessThanOrEqual

      @CheckReturnValue public static CollectionCondition sizeLessThanOrEqual(int size)
    • sizeNotEqual

      @CheckReturnValue public static CollectionCondition sizeNotEqual(int expectedSize)
    • texts

      @CheckReturnValue public static CollectionCondition texts(String... expectedTexts)
      Checks that given collection has given texts (each collection element CONTAINS corresponding text)

      NB! Ignores multiple whitespaces between words

    • texts

      @CheckReturnValue public static CollectionCondition texts(List<String> expectedTexts)
      Checks that given collection has given texts (each collection element CONTAINS corresponding text)

      NB! Ignores multiple whitespaces between words

    • textsInAnyOrder

      @CheckReturnValue public static CollectionCondition textsInAnyOrder(String... expectedTexts)
      Checks that given collection has given texts in any order (each collection element CONTAINS corresponding text)

      NB! Ignores multiple whitespaces between words

    • textsInAnyOrder

      @CheckReturnValue public static CollectionCondition textsInAnyOrder(List<String> expectedTexts)
      Checks that given collection has given texts in any order (each collection element CONTAINS corresponding text)

      NB! Ignores multiple whitespaces between words

    • exactTexts

      @CheckReturnValue public static CollectionCondition exactTexts(String... expectedTexts)
      Checks that given collection has given texts (each collection element EQUALS TO corresponding text)

      NB! Ignores multiple whitespaces between words

    • exactTexts

      @CheckReturnValue public static CollectionCondition exactTexts(List<String> expectedTexts)
      Checks that given collection has given texts (each collection element EQUALS TO corresponding text)

      NB! Ignores multiple whitespaces between words

    • exactTextsCaseSensitive

      @CheckReturnValue public static CollectionCondition exactTextsCaseSensitive(String... expectedTexts)
      Checks that given collection has given case-sensitive texts (each collection element EQUALS TO CASE SENSITIVE corresponding text)

      NB! Ignores multiple whitespaces between words

    • exactTextsCaseSensitive

      @CheckReturnValue public static CollectionCondition exactTextsCaseSensitive(List<String> expectedTexts)
      Checks that given collection has given case-sensitive texts (each collection element EQUALS TO CASE SENSITIVE corresponding text)

      NB! Ignores multiple whitespaces between words

    • anyMatch

      @CheckReturnValue public static CollectionCondition anyMatch(String description, Predicate<org.openqa.selenium.WebElement> predicate)
      Checks if ANY elements of this collection match the provided predicate
      Parameters:
      description - The description of the given predicate
      predicate - the Predicate to match
    • allMatch

      @CheckReturnValue public static CollectionCondition allMatch(String description, Predicate<org.openqa.selenium.WebElement> predicate)
      Checks if ALL elements of this collection match the provided predicate
      Parameters:
      description - The description of the given predicate
      predicate - the Predicate to match
    • noneMatch

      @CheckReturnValue public static CollectionCondition noneMatch(String description, Predicate<org.openqa.selenium.WebElement> predicate)
      Checks if NONE elements of this collection match the provided predicate
      Parameters:
      description - The description of the given predicate
      predicate - the Predicate to match
    • itemWithText

      @CheckReturnValue public static CollectionCondition itemWithText(String expectedText)
      Checks if given collection has an element with given text. The condition is satisfied if one or more elements in this collection have exactly the given text.
      Parameters:
      expectedText - The expected text in the collection
    • containExactTextsCaseSensitive

      @CheckReturnValue public static CollectionCondition containExactTextsCaseSensitive(String... expectedTexts)
      Check that the given collection contains all elements with given texts.

      NB! This condition is case-sensitive and checks for exact matches!

      Examples:
       
       // collection 1: [Tom, Dick, Harry]
       $$("li.odd").should(containExactTextsCaseSensitive("Tom", "Dick", "Harry")); // success
      
       // collection 2: [Tom, John, Dick, Harry]
       $$("li.even").should(containExactTextsCaseSensitive("Tom", "Dick", "Harry")); // success
      
       // collection 3: [John, Dick, Tom, Paul]
       $$("li.first").should(containExactTextsCaseSensitive("Tom", "Dick", "Harry")); // fail ("Harry" is missing)
      
       // collection 4: [Tom, Dick, hArRy]
       $$("li.last").should(containExactTextsCaseSensitive("Tom", "Dick", "Harry")); // fail ("Harry" is missing)
       
       
      Parameters:
      expectedTexts - the expected texts that the collection should contain
    • containExactTextsCaseSensitive

      @CheckReturnValue public static CollectionCondition containExactTextsCaseSensitive(List<String> expectedTexts)
      Check that the given collection contains all elements with given texts.

      NB! This condition is case-sensitive and checks for exact matches!

      Examples:
       
       // collection 1: [Tom, Dick, Harry]
       $$("li.odd").should(containExactTextsCaseSensitive("Tom", "Dick", "Harry")); // success
      
       // collection 2: [Tom, John, Dick, Harry]
       $$("li.even").should(containExactTextsCaseSensitive("Tom", "Dick", "Harry")); // success
      
       // collection 3: [John, Dick, Tom, Paul]
       $$("li.first").should(containExactTextsCaseSensitive("Tom", "Dick", "Harry")); // fail ("Harry" is missing)
      
       // collection 4: [Tom, Dick, hArRy]
       $$("li.last").should(containExactTextsCaseSensitive("Tom", "Dick", "Harry")); // fail ("Harry" is missing)
      
       
       
      Parameters:
      expectedTexts - the expected texts that the collection should contain
    • exactTextsCaseSensitiveInAnyOrder

      @CheckReturnValue public static CollectionCondition exactTextsCaseSensitiveInAnyOrder(List<String> expectedTexts)
      Checks that given collection has given texts in any order (each collection element EQUALS TO corresponding text)

      NB! Case sensitive

      Parameters:
      expectedTexts - Expected texts in any order in the collection
    • exactTextsCaseSensitiveInAnyOrder

      @CheckReturnValue public static CollectionCondition exactTextsCaseSensitiveInAnyOrder(String... expectedTexts)
      Checks that given collection has given texts in any order (each collection element EQUALS TO corresponding text)

      NB! Case sensitive

      Parameters:
      expectedTexts - Expected texts in any order in the collection
    • because

      public CollectionCondition because(String explanation)
      Should be used for explaining the reason of condition
    • missingElementSatisfiesCondition

      public abstract boolean missingElementSatisfiesCondition()