https://code.google.com/p/selenium/wiki/AndroidDriver
http://manojhans.blogspot.in/2013/08/native-android-apps-automation-with.html
http://manojhans.blogspot.in/2013/08/native-android-apps-automation-with.html
NoSuchElementExceptions
when searching for an element on the page.// 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"));
}
});
------------------------------------------------------------
Methods in Detail
withTimeout :Sets how long to wait for the evaluated condition to be true. The default timeout is FIVE_HUNDRED_MILLIS
pollingEvery: Sets how often the condition should be evaluated.
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
.
ignoreAll
public <K extends java.lang.Throwable> FluentWait<T> ignoreAll(java.util.Collection<java.lang.Class<? extends K>> types)
Configures this instance to ignore specific types of exceptions while waiting for a condition. Any exceptions not whitelisted will be allowed to propagate, terminating the wait.
- Parameters:
types
- The types of exceptions to ignore.
- Returns:
- A self reference.
ignoring
public FluentWait<T> ignoring(java.lang.Class<? extends java.lang.Throwable> exceptionType)
- See Also:
ignoreAll(Collection)
ignoring
public FluentWait<T> ignoring(java.lang.Class<? extends java.lang.Throwable> firstType,
java.lang.Class<? extends java.lang.Throwable> secondType)
- See Also:
ignoreAll(Collection)
until
public 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.
- Parameters:
isTrue
- The predicate to wait on.
- Throws:
TimeoutException
- If the timeout expires.
timeoutException
protected java.lang.RuntimeException timeoutException(java.lang.String message,
java.lang.Throwable lastException)
Throws a timeout exception. This method may be overridden to throw an exception that is idiomatic for a particular test infrastructure, such as an AssertionError in JUnit4.
- Parameters:
message
- The timeout message.lastException
- The last exception to be thrown and subsequently suppressed while waiting on a function.
- Returns:
- Nothing will ever be returned; this return type is only specified as a convenience.