Hi!
 
I already posted this problem to the HTMLUnit guys, but they told me to ask 
here again. Below the conversation so far.
 
________________________________

Von: Daniel Gredler [mailto:[email protected]] 
Gesendet: Montag, 5. Oktober 2009 18:11
An: [email protected]
Betreff: Re: [Htmlunit-user] ClasscastException when clickingRichFaces-Button


Hi Roland,

This looks like a bug in 
com.canoo.webtest.engine.WebClientContext$CurrentWindowTracker.webWindowContentChanged().

They assume that the frame contains an HTML page. Can you contact the WebTest 
guys about this?

Take care,

Daniel




On Mon, Oct 5, 2009 at 5:25 AM, Wuerth, Roland 
<[email protected]> wrote:


        Hi!
         
        I am using Webtest 3.0 with Htmlunit 2.4, but I'm getting this error as 
well with the lates Webtest-Snapshot and Htmlunit 2.6.
         
        When I am clicking on an RichFaces 3.3.0.-Button an AjaxRequest is 
triggered. While parsing the answer I am getting this error:
         
        java.util.concurrent.ExecutionException: 
net.sourceforge.htmlunit.corejs.javascript.WrappedException: Wrapped 
java.lang.ClassCastException: com.gargoylesoftware.htmlunit.xml.XmlPage cannot 
be cast to com.gargoylesoftware.htmlunit.html.HtmlPage 
(http://localhost:9080/frontend/spring/a4j/g/3_3_0.GAorg.ajax4jsf.javascript.AjaxScript#86
 
<http://localhost:9080/frontend/spring/a4j/g/3_3_0.GAorg.ajax4jsf.javascript.AjaxScript#86>
 )
          at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
          at java.util.concurrent.FutureTask.get(Unknown Source)
          at 
com.gargoylesoftware.htmlunit.javascript.background.JavaScriptJobManagerImpl.waitForCompletion(JavaScriptJobManagerImpl.java:313)
          at 
com.gargoylesoftware.htmlunit.javascript.background.JavaScriptJobManagerImpl.waitForJobsStartingBefore(JavaScriptJobManagerImpl.java:258)
          at 
com.gargoylesoftware.htmlunit.WebClient.waitForBackgroundJavaScriptStartingBefore(WebClient.java:2103)
          at com.canoo.webtest.steps.Step.execute(Step.java:109)
          at 
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.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)
          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:103)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.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)
          at org.apache.tools.ant.Task.perform(Task.java:348)
          at 
com.canoo.webtest.ant.WebtestTask.executeSteps(WebtestTask.java:236)
          at com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:208)
          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)
          at org.apache.tools.ant.Task.perform(Task.java:348)
          at org.apache.tools.ant.Target.execute(Target.java:357)
          at org.apache.tools.ant.Target.performTasks(Target.java:385)
          at 
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
          at 
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
          at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
          at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
          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)
          at org.apache.tools.ant.Task.perform(Task.java:348)
          at org.apache.tools.ant.Target.execute(Target.java:357)
          at org.apache.tools.ant.Target.performTasks(Target.java:385)
          at 
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
          at 
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
          at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
          at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
          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)
          at org.apache.tools.ant.Task.perform(Task.java:348)
          at org.apache.tools.ant.Target.execute(Target.java:357)
          at org.apache.tools.ant.Target.performTasks(Target.java:385)
          at 
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
          at 
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
          at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
          at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
          at 
org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
          at 
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.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)
          at org.apache.tools.ant.Task.perform(Task.java:348)
          at org.apache.tools.ant.Target.execute(Target.java:357)
          at org.apache.tools.ant.Target.performTasks(Target.java:385)
          at 
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
          at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
          at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
          at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
          at org.apache.tools.ant.Main.runBuild(Main.java:698)
          at org.apache.tools.ant.Main.startAnt(Main.java:199)
          at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
          at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
        Caused by: net.sourceforge.htmlunit.corejs.javascript.WrappedException: 
Wrapped java.lang.ClassCastException: com.gargoylesoftware.htmlunit.xml.XmlPage 
cannot be cast to com.gargoylesoftware.htmlunit.html.HtmlPage 
(http://localhost:9080/frontend/spring/a4j/g/3_3_0.GAorg.ajax4jsf.javascript.AjaxScript#86
 
<http://localhost:9080/frontend/spring/a4j/g/3_3_0.GAorg.ajax4jsf.javascript.AjaxScript#86>
 )
          at 
net.sourceforge.htmlunit.corejs.javascript.Context.throwAsScriptRuntimeEx(Context.java:1789)
          at 
net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:183)
          at 
net.sourceforge.htmlunit.corejs.javascript.ScriptableObject.getImpl(ScriptableObject.java:2253)
          at 
net.sourceforge.htmlunit.corejs.javascript.ScriptableObject.get(ScriptableObject.java:318)
          at 
com.gargoylesoftware.htmlunit.javascript.SimpleScriptable.get(SimpleScriptable.java:74)
          at 
com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.get(XMLHttpRequest.java:497)
          at 
net.sourceforge.htmlunit.corejs.javascript.ScriptableObject.getProperty(ScriptableObject.java:1853)
          at 
net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getObjectPropNoWarn(ScriptRuntime.java:1461)
          at 
net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1379)
          at 
net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:845)
          at 
net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
          at 
net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:427)
          at 
com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:263)
          at 
net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3058)
          at 
net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
          at 
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:484)
          at 
com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.setState(XMLHttpRequest.java:170)
          at 
com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.doSend(XMLHttpRequest.java:448)
          at 
com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.access$000(XMLHttpRequest.java:60)
          at 
com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest$1.run(XMLHttpRequest.java:391)
          at 
net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:529)
          at 
net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:536)
          at 
com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest$2.run(XMLHttpRequest.java:397)
          at 
com.gargoylesoftware.htmlunit.javascript.background.JavaScriptJobManagerImpl$ExecutingJobTracker.run(JavaScriptJobManagerImpl.java:98)
          at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
          at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown
 Source)
          at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
 Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown 
Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          at java.lang.Thread.run(Unknown Source)
        Caused by: java.lang.ClassCastException: 
com.gargoylesoftware.htmlunit.xml.XmlPage cannot be cast to 
com.gargoylesoftware.htmlunit.html.HtmlPage
          at 
com.gargoylesoftware.htmlunit.html.FrameWindow.getEnclosingPage(FrameWindow.java:92)
          at 
com.canoo.webtest.engine.WebClientContext$CurrentWindowTracker.webWindowContentChanged(WebClientContext.java:111)
          at 
com.gargoylesoftware.htmlunit.WebClient.fireWindowContentChanged(WebClient.java:872)
          at 
com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:450)
          at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:330)
          at 
com.gargoylesoftware.htmlunit.html.BaseFrame.<init>(BaseFrame.java:70)
          at 
com.gargoylesoftware.htmlunit.html.HtmlInlineFrame.<init>(HtmlInlineFrame.java:48)
          at 
com.gargoylesoftware.htmlunit.html.DefaultElementFactory.createElementNS(DefaultElementFactory.java:231)
          at 
com.gargoylesoftware.htmlunit.xml.XmlUtil.createFrom(XmlUtil.java:151)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:205)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at com.gargoylesoftware.htmlunit.xml.XmlUtil.copy(XmlUtil.java:207)
          at 
com.gargoylesoftware.htmlunit.xml.XmlUtil.appendChild(XmlUtil.java:140)
          at com.gargoylesoftware.htmlunit.xml.XmlPage.<init>(XmlPage.java:114)
          at com.gargoylesoftware.htmlunit.xml.XmlPage.<init>(XmlPage.java:72)
          at 
com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.jsxGet_responseXML(XMLHttpRequest.java:248)
          at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at 
net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:161)
          ... 30 more
        
         
        So far we were really happy with webtest an htmlunit, but unfortunately 
this would be a showstopper for using it.
         
        I would appreciate if someone could help us with that problem.
         
        Regards
        Roland Würth
        

 
 

Reply via email to