[arquillian-issues] [JBoss JIRA] (ARQGRA-493) Javassist enhanced WebDriver does not work

Artur Signell (JIRA) issues at jboss.org
Thu Nov 24 16:47:00 EST 2016


Artur Signell created ARQGRA-493:
------------------------------------

             Summary: Javassist enhanced WebDriver does not work
                 Key: ARQGRA-493
                 URL: https://issues.jboss.org/browse/ARQGRA-493
             Project: Arquillian Graphene
          Issue Type: Bug
    Affects Versions: 2.1.0.Final
            Reporter: Artur Signell


When a WebDriver is wrapped inside a Javassist proxy, it seems that it will be rewrapped inside another proxy in org.jboss.arquillian.graphene.context.GrapheneContextImpl.LazyContext.getWebDriver(). 

After this, when driver.get(...) is executed, the result is

java.lang.RuntimeException: not found _d32get:(Ljava/lang/String;)V in com.vaadin.testbench.TestBenchDriverProxy_$$_javassist_0$$EnhancerByGraphene$$a623df4c
	at javassist.util.proxy.RuntimeSupport.error(RuntimeSupport.java:94)
	at javassist.util.proxy.RuntimeSupport.findMethod(RuntimeSupport.java:70)
	at javassist.util.proxy.RuntimeSupport.find2Methods(RuntimeSupport.java:54)
	at com.vaadin.testbench.TestBenchDriverProxy_$$_javassist_0.get(TestBenchDriverProxy_$$_javassist_0.java)
	at org.jboss.arquillian.graphene.location.LocationEnricher.handleLocationOf(LocationEnricher.java:136)
	at org.jboss.arquillian.graphene.location.LocationEnricher.goTo(LocationEnricher.java:96)
	at org.jboss.arquillian.graphene.location.LocationEnricher.resolve(LocationEnricher.java:81)
	at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.enrichArguments(LocalTestExecuter.java:94)
	at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:61)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)



This does not happen if GrapheneProxyUtil.isProxy is updated to contain an additional check for javassist proxies:
                if (interfaze.getName().equals("javassist.util.proxy.ProxyObject")) {
                    return true;
                }

As I am not very familiar with this project, I have really no clue if this is a good or bad solution.



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


More information about the arquillian-issues mailing list