[arquillian-issues] [JBoss JIRA] (ARQGRA-501) Error when checking for the invisibility of elements

Matous Jobanek (JIRA) issues at jboss.org
Wed May 24 10:16:00 EDT 2017


    [ https://issues.jboss.org/browse/ARQGRA-501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13411374#comment-13411374 ] 

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)


More information about the arquillian-issues mailing list