]
Matous Jobanek updated ARQGRA-501:
----------------------------------
Fix Version/s: 2.3.0
Error when checking for the invisibility of elements
----------------------------------------------------
Key: ARQGRA-501
URL:
https://issues.jboss.org/browse/ARQGRA-501
Project: Arquillian Graphene
Issue Type: Bug
Affects Versions: 2.2.0
Reporter: Krassimir Valev
Fix For: 2.3.0
I get the following error message, when waiting for an element to disappear:
{code:java}
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at
org.jboss.arquillian.graphene.enricher.WebElementUtils$3.getTarget(WebElementUtils.java:104)
at
org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.getTarget(GrapheneProxyHandler.java:149)
at
org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$1.getTarget(GrapheneContextualHandler.java:189)
at
org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$1.invoke(GrapheneContextualHandler.java:162)
at
org.jboss.arquillian.graphene.enricher.SearchContextInterceptor.intercept(SearchContextInterceptor.java:50)
at
org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
at
org.jboss.arquillian.graphene.enricher.StaleElementInterceptor$1.apply(StaleElementInterceptor.java:47)
at
org.jboss.arquillian.graphene.enricher.StaleElementInterceptor$1.apply(StaleElementInterceptor.java:43)
at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:209)
at
org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:96)
at
org.jboss.arquillian.graphene.enricher.StaleElementInterceptor.intercept(StaleElementInterceptor.java:43)
at
org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
at
org.jboss.arquillian.graphene.intercept.InterceptorBuilder$2.intercept(InterceptorBuilder.java:139)
at
org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
at
org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$2.call(GrapheneContextualHandler.java:212)
at
org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:62)
at
org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:208)
at com.sun.proxy.$Proxy316.isDisplayed(Unknown Source)
at
org.openqa.selenium.support.ui.ExpectedConditions$20.apply(ExpectedConditions.java:585)
at
org.openqa.selenium.support.ui.ExpectedConditions$20.apply(ExpectedConditions.java:581)
at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:209)
at
org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:96)
{code}
The wait condition looks like this:
{code:java}
return waitGui()
.withTimeout(timeout, TimeUnit.SECONDS)
.pollingEvery(100, TimeUnit.MILLISECONDS)
.ignoring(NoSuchElementException.class,
StaleElementReferenceException.class)
.ignoring(InvocationTargetException.class)
.until(ExpectedConditions.invisibilityOfElementLocated(locator));
{code}
The very same condition used to work with graphene-webdriver 2.0.3.Final and selenium-bom
2.50.1, but it fails now after upgrading to graphene-webdriver 2.2.0 and selenium-bom
3.3.1