|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.openqa.selenium.support.ui.FluentWait<T>
T
- The input type for each condition used with this instance.public class FluentWait<T>
An implementation of the Wait
interface that may have its timeout and polling interval
configured on the fly.
Each FluentWait instance defines the maximum amount of time to wait for a condition, as well as
the frequency with which to check the condition. Furthermore, the user may configure the wait to
ignore specific types of exceptions whilst waiting, such as
NoSuchElementExceptions
when searching for an
element on the page.
Sample usage:
// Waiting 30 seconds for an element to be present on the page, checking
// for its presence once every 5 seconds.
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, SECONDS)
.pollingEvery(5, SECONDS)
.ignoring(NoSuchElementException.class);
WebElement foo = wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(By.id("foo"));
}
});
This class makes no thread safety guarantees.
Field Summary | |
---|---|
static Duration |
FIVE_HUNDRED_MILLIS
|
Constructor Summary | |
---|---|
FluentWait(T input)
|
|
FluentWait(T input,
Clock clock,
Sleeper sleeper)
|
Method Summary | ||
---|---|---|
FluentWait<T> |
ignoreAll(java.util.Collection<java.lang.Class<? extends java.lang.RuntimeException>> types)
Configures this instance to ignore specific types of exceptions while waiting for a condition. |
|
FluentWait<T> |
ignoring(java.lang.Class<? extends java.lang.RuntimeException> exceptionType)
|
|
FluentWait<T> |
ignoring(java.lang.Class<? extends java.lang.RuntimeException> firstType,
java.lang.Class<? extends java.lang.RuntimeException> secondType)
|
|
FluentWait<T> |
pollingEvery(long duration,
java.util.concurrent.TimeUnit unit)
Sets how often the condition should be evaluated. |
|
protected java.lang.RuntimeException |
timeoutException(java.lang.String message,
java.lang.RuntimeException lastException)
Throws a timeout exception. |
|
|
until(com.google.common.base.Function<? super T,V> isTrue)
Repeatedly applies this instance's input value to the given function until one of the following occurs: the function returns neither null nor false, the function throws an unignored exception, the timeout expires, the current thread is interrupted |
|
void |
until(com.google.common.base.Predicate<T> isTrue)
Repeatedly applies this instance's input value to the given predicate until the timeout expires or the predicate evaluates to true. |
|
FluentWait<T> |
withMessage(java.lang.String message)
Sets the message to be displayed when time expires. |
|
FluentWait<T> |
withTimeout(long duration,
java.util.concurrent.TimeUnit unit)
Sets how long to wait for the evaluated condition to be true. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static Duration FIVE_HUNDRED_MILLIS
Constructor Detail |
---|
public FluentWait(T input)
input
- The input value to pass to the evaluated conditions.public FluentWait(T input, Clock clock, Sleeper sleeper)
input
- The input value to pass to the evaluated conditions.clock
- The clock to use when measuring the timeout.sleeper
- Used to put the thread to sleep between evaluation loops.Method Detail |
---|
public FluentWait<T> withTimeout(long duration, java.util.concurrent.TimeUnit unit)
FIVE_HUNDRED_MILLIS
.
duration
- The timeout duration.unit
- The unit of time.
public FluentWait<T> withMessage(java.lang.String message)
message
- to be appended to default.
public FluentWait<T> pollingEvery(long duration, java.util.concurrent.TimeUnit unit)
In reality, the interval may be greater as the cost of actually evaluating a condition function
is not factored in. The default polling interval is FIVE_HUNDRED_MILLIS
.
duration
- The timeout duration.unit
- The unit of time.
public FluentWait<T> ignoreAll(java.util.Collection<java.lang.Class<? extends java.lang.RuntimeException>> types)
types
- The types of exceptions to ignore.
public FluentWait<T> ignoring(java.lang.Class<? extends java.lang.RuntimeException> exceptionType)
ignoreAll(Collection)
public FluentWait<T> ignoring(java.lang.Class<? extends java.lang.RuntimeException> firstType, java.lang.Class<? extends java.lang.RuntimeException> secondType)
ignoreAll(Collection)
public void until(com.google.common.base.Predicate<T> isTrue)
isTrue
- The predicate to wait on.public <V> V until(com.google.common.base.Function<? super T,V> isTrue)
until
in interface Wait<T>
V
- The function's expected return type.isTrue
- the parameter to pass to the ExpectedCondition
protected java.lang.RuntimeException timeoutException(java.lang.String message, java.lang.RuntimeException lastException)
message
- The timeout message.lastException
- The last exception to be thrown and subsequently supressed while waiting
on a function.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |