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)