[arquillian-issues] [JBoss JIRA] (ARQGRA-497) Unable to start browser because FluentWait#until(Predicate) has been removed in selenium 3.2.0

Emond Papegaaij (JIRA) issues at jboss.org
Wed Mar 8 14:58:00 EST 2017


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

Emond Papegaaij commented on ARQGRA-497:
----------------------------------------

The situation is a bit more complex than only a removed method. In 3.1.0 the Selenium team broke binary compatibility of both WebDriverWait.until methods (Function and Predicate). In 3.2.0 the one with the Predicate was removed. Also in 3.2.0, the Actions class was refactored, rendering it useless when using the now deprecated constructor.

I've attached patches for both drone and graphene to get the build working again. I didn't touch the animal sniffer, which is failing. This probably because Selenium now requires Java 8.

> Unable to start browser because FluentWait#until(Predicate) has been removed in selenium 3.2.0
> ----------------------------------------------------------------------------------------------
>
>                 Key: ARQGRA-497
>                 URL: https://issues.jboss.org/browse/ARQGRA-497
>             Project: Arquillian Graphene
>          Issue Type: Bug
>          Components: api
>    Affects Versions: 2.1.0.Final
>            Reporter: Jan Hrcek
>            Assignee: Matous Jobanek
>            Priority: Blocker
>         Attachments: drone.diff, graphene.diff
>
>
> I'm unable to start Firefox/Chrome driver using Graphene 2.1.0.Final & selenium-bom 3.2.0.
> When instantiating browser I see the following exception:
> {code:java}
> Caused by: java.lang.NoSuchMethodError: org.openqa.selenium.support.ui.WebDriverWait.until(Lcom/google/common/base/Predicate;)V
> 	at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:87)
> 	at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor.intercept(StaleElementInterceptor.java:44)
> 	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 org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.intercept(GrapheneContextualHandler.java:234)
> 	at org.openqa.selenium.chrome.ChromeDriver$$EnhancerByGraphene$$1cfa9aea.manage(<generated>)
> {code}
> This seems to be caused by recent removal of FluentWait#until(Predicate) method in selenium (see [recent commit|https://github.com/SeleniumHQ/selenium/commit/bee4115079b7fa678e14eed82e432ddc575621e6]). Could you please update / remove this method from org.jboss.arquillian.graphene.wait.WebDriverWaitImpl so that the browsers can be instantiated again?



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the arquillian-issues mailing list