Package org.fluentlenium.core.wait
Class FluentWaitElement
- java.lang.Object
-
- org.fluentlenium.core.wait.FluentWaitElement
-
- All Implemented Interfaces:
FluentWaitConditions<FluentWaitElement>
,FluentWaitConfiguration<FluentWaitElement>
,FluentWaitFunctional<FluentControl>
,org.openqa.selenium.support.ui.Wait<FluentControl>
public class FluentWaitElement extends Object implements FluentWaitFunctional<FluentControl>, FluentWaitConditions<FluentWaitElement>, FluentWaitConfiguration<FluentWaitElement>
A wait object wrapping default seleniumFluentWait
object into a more complete API, allowing to wait for any condition to be verified on an underlying element.
-
-
Constructor Summary
Constructors Constructor Description FluentWaitElement(FluentWait controlWait, FluentWebElement element)
Creates a new fluent wait for a given element.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description FluentWaitElement
atMost(Duration duration)
Configure timeout for this wait object.FluentWaitElement
explicitlyFor(long amount, TimeUnit timeUnit)
Waits unconditionally for an explicit amount of time.org.openqa.selenium.support.ui.FluentWait
getWait()
Get the underlying selenium wait objectboolean
hasMessageDefined()
Check if a message is defined.FluentWaitElement
ignoreAll(Collection<Class<? extends Throwable>> types)
Add given exceptions to ignore list to avoid breaking the wait when they occurs in the underlying condition evaluation.FluentWaitElement
ignoring(Class<? extends RuntimeException> exceptionType)
Add given exception to ignore list to avoid breaking the wait when they occurs in the underlying condition evaluation.FluentWaitElement
ignoring(Class<? extends RuntimeException> firstType, Class<? extends RuntimeException> secondType)
Add given exceptions to ignore list to avoid breaking the wait when they occurs in the underlying condition evaluation.FluentWaitElement
pollingEvery(Duration duration)
Configure polling time for this wait object.FluentConditions
until()
Get a conditions object used to wait for condition on current element.<T> T
until(Function<? super FluentControl,T> function)
Deprecated.void
until(Supplier<Boolean> isTrue)
Wait until the supplier returns true.FluentListConditions
until(List<? extends FluentWebElement> elements)
Get a conditions object used to wait for a condition on given elements.FluentConditions
until(FluentWebElement element)
Get a conditions object used to wait for condition on given element.FluentWaitElement
untilAsserted(Runnable block)
waits until aRunnable
block execution ends without throwing an exception.FluentListConditions
untilEach(List<? extends FluentWebElement> elements)
Get a conditions object used to wait for a condition on given elements.FluentListConditions
untilEachElements(Supplier<? extends List<? extends FluentWebElement>> selector)
Get a conditions object used to wait for a condition on given elements.FluentConditions
untilElement(Supplier<? extends FluentWebElement> selector)
Get a conditions object used to wait for a condition on given element.FluentListConditions
untilElements(Supplier<? extends List<? extends FluentWebElement>> selector)
Get a conditions object used to wait for a condition on given elements.FluentWaitPageConditions
untilPage()
Get a condition object used to wait for a page condition.FluentWaitPageConditions
untilPage(FluentPage page)
Get a condition object used to wait for a page condition.void
untilPredicate(Predicate<FluentControl> predicate)
Wait until the predicate returns true.FluentWaitWindowConditions
untilWindow(String windowName)
Get a condition object used to wait for a window condition.FluentWaitElement
withMessage(Supplier<String> message)
Configures a custom message supplier to be used if the condition fails during the timeout duration.FluentWaitElement
withNoDefaultsException()
Removes default exceptions from exceptions ignore list.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.fluentlenium.core.wait.FluentWaitConditions
explicitlyFor
-
Methods inherited from interface org.fluentlenium.core.wait.FluentWaitConfiguration
atMost, atMost, pollingEvery, pollingEvery, withMessage
-
-
-
-
Constructor Detail
-
FluentWaitElement
public FluentWaitElement(FluentWait controlWait, FluentWebElement element)
Creates a new fluent wait for a given element.- Parameters:
controlWait
- underlying wait from control interfaceelement
- underlying element
-
-
Method Detail
-
until
public FluentConditions until()
Get a conditions object used to wait for condition on current element.- Returns:
- conditions object
-
getWait
public org.openqa.selenium.support.ui.FluentWait getWait()
Description copied from interface:FluentWaitConfiguration
Get the underlying selenium wait object- Specified by:
getWait
in interfaceFluentWaitConfiguration<FluentWaitElement>
- Returns:
- selenium wait
-
atMost
public FluentWaitElement atMost(Duration duration)
Description copied from interface:FluentWaitConfiguration
Configure timeout for this wait object.- Specified by:
atMost
in interfaceFluentWaitConfiguration<FluentWaitElement>
- Parameters:
duration
- duration- Returns:
this
object to chain method calls
-
pollingEvery
public FluentWaitElement pollingEvery(Duration duration)
Description copied from interface:FluentWaitConfiguration
Configure polling time for this wait object.- Specified by:
pollingEvery
in interfaceFluentWaitConfiguration<FluentWaitElement>
- Parameters:
duration
- duration between each condition invocation- Returns:
this
object to chain method calls
-
ignoreAll
public FluentWaitElement ignoreAll(Collection<Class<? extends Throwable>> types)
Description copied from interface:FluentWaitConfiguration
Add given exceptions to ignore list to avoid breaking the wait when they occurs in the underlying condition evaluation.- Specified by:
ignoreAll
in interfaceFluentWaitConfiguration<FluentWaitElement>
- Parameters:
types
- collection of exception type to ignore- Returns:
this
object to chain method calls
-
ignoring
public FluentWaitElement ignoring(Class<? extends RuntimeException> exceptionType)
Description copied from interface:FluentWaitConfiguration
Add given exception to ignore list to avoid breaking the wait when they occurs in the underlying condition evaluation.- Specified by:
ignoring
in interfaceFluentWaitConfiguration<FluentWaitElement>
- Parameters:
exceptionType
- exception type to ignore- Returns:
this
object to chain method calls
-
ignoring
public FluentWaitElement ignoring(Class<? extends RuntimeException> firstType, Class<? extends RuntimeException> secondType)
Description copied from interface:FluentWaitConfiguration
Add given exceptions to ignore list to avoid breaking the wait when they occurs in the underlying condition evaluation.- Specified by:
ignoring
in interfaceFluentWaitConfiguration<FluentWaitElement>
- Parameters:
firstType
- exception type to ignoresecondType
- exception type to ignore- Returns:
this
object to chain method calls
-
withMessage
public FluentWaitElement withMessage(Supplier<String> message)
Description copied from interface:FluentWaitConfiguration
Configures a custom message supplier to be used if the condition fails during the timeout duration.- Specified by:
withMessage
in interfaceFluentWaitConfiguration<FluentWaitElement>
- Parameters:
message
- failing message- Returns:
this
object to chain method calls
-
hasMessageDefined
public boolean hasMessageDefined()
Description copied from interface:FluentWaitConfiguration
Check if a message is defined.- Specified by:
hasMessageDefined
in interfaceFluentWaitConfiguration<FluentWaitElement>
- Returns:
- true if this fluent wait use a custom message, false otherwise
-
withNoDefaultsException
public FluentWaitElement withNoDefaultsException()
Description copied from interface:FluentWaitConfiguration
Removes default exceptions from exceptions ignore list.- Specified by:
withNoDefaultsException
in interfaceFluentWaitConfiguration<FluentWaitElement>
- Returns:
this
object to chain method calls
-
untilPredicate
public void untilPredicate(Predicate<FluentControl> predicate)
Description copied from interface:FluentWaitFunctional
Wait until the predicate returns true.- Specified by:
untilPredicate
in interfaceFluentWaitFunctional<FluentControl>
- Parameters:
predicate
- predicate condition to wait for
-
until
public void until(Supplier<Boolean> isTrue)
Description copied from interface:FluentWaitFunctional
Wait until the supplier returns true.- Specified by:
until
in interfaceFluentWaitFunctional<FluentControl>
- Parameters:
isTrue
- supplier condition to wait for.
-
until
public FluentConditions until(FluentWebElement element)
Description copied from interface:FluentWaitConditions
Get a conditions object used to wait for condition on given element.- Specified by:
until
in interfaceFluentWaitConditions<FluentWaitElement>
- Parameters:
element
- element to wait for- Returns:
- conditions object
-
until
public FluentListConditions until(List<? extends FluentWebElement> elements)
Description copied from interface:FluentWaitConditions
Get a conditions object used to wait for a condition on given elements.At least one element must verify the condition to be verified.
- Specified by:
until
in interfaceFluentWaitConditions<FluentWaitElement>
- Parameters:
elements
- elements to wait for- Returns:
- conditions object
-
untilEach
public FluentListConditions untilEach(List<? extends FluentWebElement> elements)
Description copied from interface:FluentWaitConditions
Get a conditions object used to wait for a condition on given elements.Each element must verify the condition to be verified.
- Specified by:
untilEach
in interfaceFluentWaitConditions<FluentWaitElement>
- Parameters:
elements
- elements to wait for- Returns:
- conditions object
-
untilElement
public FluentConditions untilElement(Supplier<? extends FluentWebElement> selector)
Description copied from interface:FluentWaitConditions
Get a conditions object used to wait for a condition on given element.- Specified by:
untilElement
in interfaceFluentWaitConditions<FluentWaitElement>
- Parameters:
selector
- element to wait for- Returns:
- conditions object
-
untilElements
public FluentListConditions untilElements(Supplier<? extends List<? extends FluentWebElement>> selector)
Description copied from interface:FluentWaitConditions
Get a conditions object used to wait for a condition on given elements.At least one element must verify the condition to be verified.
- Specified by:
untilElements
in interfaceFluentWaitConditions<FluentWaitElement>
- Parameters:
selector
- elements to wait for- Returns:
- conditions object
-
untilEachElements
public FluentListConditions untilEachElements(Supplier<? extends List<? extends FluentWebElement>> selector)
Description copied from interface:FluentWaitConditions
Get a conditions object used to wait for a condition on given elements.Each element must verify the condition to be verified.
- Specified by:
untilEachElements
in interfaceFluentWaitConditions<FluentWaitElement>
- Parameters:
selector
- elements to wait for- Returns:
- conditions object
-
untilWindow
public FluentWaitWindowConditions untilWindow(String windowName)
Description copied from interface:FluentWaitConditions
Get a condition object used to wait for a window condition.- Specified by:
untilWindow
in interfaceFluentWaitConditions<FluentWaitElement>
- Parameters:
windowName
- name of the window to wait for- Returns:
- window conditions object
-
untilPage
public FluentWaitPageConditions untilPage()
Description copied from interface:FluentWaitConditions
Get a condition object used to wait for a page condition.- Specified by:
untilPage
in interfaceFluentWaitConditions<FluentWaitElement>
- Returns:
- page conditions object
-
untilPage
public FluentWaitPageConditions untilPage(FluentPage page)
Description copied from interface:FluentWaitConditions
Get a condition object used to wait for a page condition.- Specified by:
untilPage
in interfaceFluentWaitConditions<FluentWaitElement>
- Parameters:
page
- page to wait for- Returns:
- page conditions object
-
explicitlyFor
public FluentWaitElement explicitlyFor(long amount, TimeUnit timeUnit)
Description copied from interface:FluentWaitConditions
Waits unconditionally for an explicit amount of time.The method should be used only as a last resort.
In most cases you should wait for some condition, e.g. visibility of particular element on the page.
- Specified by:
explicitlyFor
in interfaceFluentWaitConditions<FluentWaitElement>
- Parameters:
amount
- amount of timetimeUnit
- unit of time- Returns:
this
object to chain method calls
-
untilAsserted
public FluentWaitElement untilAsserted(Runnable block)
Description copied from interface:FluentWaitConditions
waits until aRunnable
block execution ends without throwing an exception. The method is intended to be used with Java 8 Lambda expressions. This allows to use AssertJ/JUnit/TestNG assertions to periodically check for conditions.await().untilAsserted(() -> assertThat(window().title()).isEqualTo("Fluentlenium"));
- Specified by:
untilAsserted
in interfaceFluentWaitConditions<FluentWaitElement>
- Parameters:
block
- the code block that is responsible for executing the assertion and throwing AssertionError on failure.- Returns:
this
object to chain method calls
-
until
@Deprecated public <T> T until(Function<? super FluentControl,T> function)
Deprecated.Wait until function returns true- Specified by:
until
in interfaceFluentWaitFunctional<FluentControl>
- Specified by:
until
in interfaceorg.openqa.selenium.support.ui.Wait<FluentControl>
- Type Parameters:
T
- FluentWaitElement- Parameters:
function
- function to be performed- Returns:
- FluentWaitElement
-
-