[
https://issues.jboss.org/browse/ARQGRA-501?page=com.atlassian.jira.plugin...
]
Matous Jobanek commented on ARQGRA-501:
---------------------------------------
Hi,
thank you for reporting this.
I was trying to reproduce the issue, but without any success - everything is working in my
case...
However, when I take a look at the code where the exception was thrown - there could be
one corner case when this could occur. Here is my proposal how I would fix the issue:
https://github.com/arquillian/arquillian-graphene/pull/168
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
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
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)