Package com.codeborne.selenide
Class CollectionCondition
java.lang.Object
com.codeborne.selenide.CollectionCondition
- Direct Known Subclasses:
Attributes
,ContainExactTextsCaseSensitive
,ExactTexts
,ItemWithText
,ListSize
,PredicateCollectionCondition
,SizeGreaterThan
,SizeGreaterThanOrEqual
,SizeLessThan
,SizeLessThanOrEqual
,SizeNotEqual
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic CollectionCondition
Checks if ALL elements of this collection match the provided predicatestatic CollectionCondition
Checks if ANY elements of this collection match the provided predicatestatic CollectionCondition
attributes
(String attribute, String... expectedValues) static CollectionCondition
attributes
(String attribute, List<String> expectedValues) Checks that given collection has given attribute values (each collection element EQUALS TO corresponding attribute value)Should be used for explaining the reason of conditioncheck
(CollectionSource collection) The most powerful way to implement condition.static CollectionCondition
containExactTextsCaseSensitive
(String... expectedTexts) Check that the given collection contains all elements with given texts.static CollectionCondition
containExactTextsCaseSensitive
(List<String> expectedTexts) Check that the given collection contains all elements with given texts.static CollectionCondition
exactTexts
(String... expectedTexts) Checks that given collection has given texts (each collection element EQUALS TO corresponding text)static CollectionCondition
exactTexts
(List<String> expectedTexts) Checks that given collection has given texts (each collection element EQUALS TO corresponding text)static CollectionCondition
exactTextsCaseSensitive
(String... expectedTexts) Checks that given collection has given case-sensitive texts (each collection element EQUALS TO CASE SENSITIVE corresponding text)static CollectionCondition
exactTextsCaseSensitive
(List<String> expectedTexts) Checks that given collection has given case-sensitive texts (each collection element EQUALS TO CASE SENSITIVE corresponding text)static CollectionCondition
exactTextsCaseSensitiveInAnyOrder
(String... expectedTexts) Checks that given collection has given texts in any order (each collection element EQUALS TO corresponding text)static CollectionCondition
exactTextsCaseSensitiveInAnyOrder
(List<String> expectedTexts) Checks that given collection has given texts in any order (each collection element EQUALS TO corresponding text)void
fail
(CollectionSource collection, CheckResult lastCheckResult, Exception cause, long timeoutMs) Every subclass should implement this method.void
fail
(CollectionSource collection, List<org.openqa.selenium.WebElement> elements, Exception cause, long timeoutMs) Deprecated.static CollectionCondition
itemWithText
(String expectedText) Checks if given collection has an element with given text.abstract boolean
static CollectionCondition
Checks if NONE elements of this collection match the provided predicatestatic CollectionCondition
size
(int expectedSize) Checks that collection has the given sizestatic CollectionCondition
sizeGreaterThan
(int expectedSize) static CollectionCondition
sizeGreaterThanOrEqual
(int expectedSize) static CollectionCondition
sizeLessThan
(int expectedSize) static CollectionCondition
sizeLessThanOrEqual
(int size) static CollectionCondition
sizeNotEqual
(int expectedSize) boolean
Deprecated.static CollectionCondition
Checks that given collection has given texts (each collection element CONTAINS corresponding text)static CollectionCondition
Checks that given collection has given texts (each collection element CONTAINS corresponding text)static CollectionCondition
textsInAnyOrder
(String... expectedTexts) Checks that given collection has given texts in any order (each collection element CONTAINS corresponding text)static CollectionCondition
textsInAnyOrder
(List<String> expectedTexts) Checks that given collection has given texts in any order (each collection element CONTAINS corresponding text)
-
Field Details
-
explanation
-
empty
-
-
Constructor Details
-
CollectionCondition
public CollectionCondition()
-
-
Method Details
-
test
Deprecated.Please implement methodcheck(CollectionSource)
instead. -
check
@Nonnull @CheckReturnValue public CheckResult check(Driver driver, List<org.openqa.selenium.WebElement> elements) -
check
The most powerful way to implement condition. Can check the collection using JavaScript or any other effective means. Also, can return "actual values" in the returnedCheckResult
object. -
fail
@Deprecated public void fail(CollectionSource collection, @Nullable List<org.openqa.selenium.WebElement> elements, @Nullable Exception cause, long timeoutMs) Deprecated. -
fail
public void fail(CollectionSource collection, CheckResult lastCheckResult, @Nullable Exception cause, long timeoutMs) Every subclass should implement this method. We left here the default implementation only because of backward compatibility. -
size
Checks that collection has the given size -
sizeGreaterThan
-
sizeGreaterThanOrEqual
-
sizeLessThan
-
sizeLessThanOrEqual
-
sizeNotEqual
-
texts
Checks that given collection has given texts (each collection element CONTAINS corresponding text)NB! Ignores multiple whitespaces between words
-
texts
Checks that given collection has given texts (each collection element CONTAINS corresponding text)NB! Ignores multiple whitespaces between words
-
textsInAnyOrder
Checks that given collection has given texts in any order (each collection element CONTAINS corresponding text)NB! Ignores multiple whitespaces between words
-
textsInAnyOrder
Checks that given collection has given texts in any order (each collection element CONTAINS corresponding text)NB! Ignores multiple whitespaces between words
-
exactTexts
Checks that given collection has given texts (each collection element EQUALS TO corresponding text)NB! Ignores multiple whitespaces between words
-
exactTexts
Checks that given collection has given texts (each collection element EQUALS TO corresponding text)NB! Ignores multiple whitespaces between words
-
attributes
@CheckReturnValue public static CollectionCondition attributes(String attribute, String... expectedValues) - See Also:
-
attributes
@CheckReturnValue public static CollectionCondition attributes(String attribute, List<String> expectedValues) Checks that given collection has given attribute values (each collection element EQUALS TO corresponding attribute value)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 predicatepredicate
- thePredicate
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 predicatepredicate
- thePredicate
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 predicatepredicate
- thePredicate
to match
-
itemWithText
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
Should be used for explaining the reason of condition -
missingElementSatisfiesCondition
public abstract boolean missingElementSatisfiesCondition()
-
check(CollectionSource)
instead.