Class instantiation failure within groovy block of webtest
----------------------------------------------------------
Key: WT-503
URL: http://webtest-community.canoo.com/jira/browse/WT-503
Project: WebTest
Type: Bug
Versions: 2.6
Environment: OS: Various windows-based (ie. XP, 2000, etc)
Reporter: Chris Carman
Attachments: javahack.xml, t5.java
There appears to be a class instantiation bug of some kind when groovy code is
executed within a webtest.
In the attached webtest (javahack.xml) tests 1 - 4 work fine, but test 5 fails.
This is test 4:
<groovy description="groovy test 4">
import org.apache.log4j.Logger;
l = Logger.getLogger(Logger.class);
println("Groovy test 4 completed!");
</groovy>
And this is test 5 (which fails even though the "t5" class it instantiates
calls the same "getLogger" method as test 4):
<groovy description="groovy test 5">
test = new t5();
println("Groovy test 5 completed!");
</groovy>
t5.java contains only the following:
import org.apache.log4j.Logger;
public class t5
{
public Logger LOGGER;
public t5() {
LOGGER = Logger.getLogger(Logger.class);
}
}
Additionally, both test4 and test5 work fine when run through Groovy alone, so
this appears to be a problem with Webtest.
The following stack trace is generated:
Caused by: ...\javaHack.xml:38: java.lang.NoClassDefFoundError:
Lorg/apache/log4j/Logger;
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:115)
at org.apache.tools.ant.Task.perform(Task.java:348)
at
com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.java:43)
at
com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:31)
at com.canoo.webtest.steps.Step.execute(Step.java:101)
... 35 more
Caused by: java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredFields(Unknown Source)
at
org.codehaus.groovy.reflection.CachedClass$2.run(CachedClass.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at
org.codehaus.groovy.reflection.CachedClass.getFields(CachedClass.java:214)
at
groovy.lang.MetaClassImpl.addFields(MetaClassImpl.java:1719)
at
groovy.lang.MetaClassImpl.inheritFields(MetaClassImpl.java:1714)
at
groovy.lang.MetaClassImpl.setupProperties(MetaClassImpl.java:1603)
at
groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2508)
at
groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2479)
at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass(MetaClassRegistryImpl.java:253)
at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100(MetaClassRegistryImpl.java:45)
at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal(MetaClassRegistryImpl.java:112)
at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass(MetaClassRegistryImpl.java:88)
at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass(MetaClassRegistryImpl.java:361)
at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:265)
at
org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(InvokerHelper.java:808)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeNewN(ScriptBytecodeAdapter.java:230)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeNew0(ScriptBytecodeAdapter.java:237)
at Script1.run(Script1.groovy:2)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:543)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:518)
at
com.canoo.webtest.extension.groovy.GroovyInvoker.doExecute(GroovyInvoker.java:40)
at
com.canoo.webtest.extension.groovy.GroovyStep.doExecute(GroovyStep.java:37)
at com.canoo.webtest.steps.Step.execute(Step.java:101)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
... 39 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://webtest-community.canoo.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest