|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
ClassCastException when clickingRichFaces-ButtonHi!
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:djgredler@...] Gesendet: Montag, 5. Oktober 2009 18:11 An: htmlunit-user@... Betreff: Re: [Htmlunit-user] ClasscastException when clickingRichFaces-Button 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 <Roland.Wuerth@...>
wrote:
|
|
|
Re: ClassCastException when clickingRichFaces-ButtonHallo Roland,
which WebTest version do you use? Looking at the stack trace it doesn't seem to be a recent build and this error should not occur with a recent build. Gruss, Marc. Wuerth, Roland a écrit : > 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:djgredler@...] > *Gesendet:* Montag, 5. Oktober 2009 18:11 > *An:* htmlunit-user@... > *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 > <Roland.Wuerth@... > <mailto:Roland.Wuerth@...>> 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) > 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) > 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 > > > _______________________________________________ WebTest mailing list WebTest@... http://lists.canoo.com/mailman/listinfo/webtest |
|
|
AW: ClassCastException when clickingRichFaces-ButtonHallo Marc!
I am using Webtest 3.0, but as I wrote, I get the error in the latest snapshot as well. We digged a little deeper and found, that the ScrollableDataTable of RichFaces causes the trouble. On our page we have the table inside a form. The Submit-Button is outside in a separate form. Clicking the button triggers a AjaxRequest on the form in which the table is. The idea is, that with this AjaxRequest the data of the table is mapped to the model (in this case only the infomation which row is selected). The AjaxResponse is parsed and, when everything is ok (a row is selected), an ActionRequest ist triggered, which leads to a new page. If the AjaxResponse is not ok, a error-message is displayed an the ActionRequest is not triggered. If we don't rerender the ScollableDataTable after the AjaxRequest, everything works fine. If we rerender it, the Exception ist thrown. So parsing the AjaxResponse doesn't succeed. We traced it down to the iFrames which are used in the Header an the Footer of the Table: <iframe class="dr-sdt-substrate" frameborder="0" id="personTrefferlisteContentForm:personTrefferlisteTable:hs" scrolling="no" src="javascript:''"> <br /> </iframe> I don't have a clue which function they have in the RichFaces-Component, but while Webtest (and HtmlUnit) tries to load the XMLHttpRequest.responseXML into the iFrame it assumes that it is HTML and constructs an HtmlPage while it should construct an XmlPage. Even after we patched this, Webtest tries to invoke javascript and the next Exception is thrown. Regards, Roland Würth (IT-Frankfurt) Programm KonzernPerson - KP-FE/SL Raum GH 02.45.096, Theodor-Heuss-Allee 80, D-60486 Frankfurt Tel: +49 - 69 136 49668 mailto:roland.wuerth@... -----Ursprüngliche Nachricht----- Von: webtest-admin@... [mailto:webtest-admin@...] Im Auftrag von Marc Guillemot Gesendet: Dienstag, 13. Oktober 2009 08:01 An: webtest@... Betreff: Re: [Webtest] ClassCastException when clickingRichFaces-Button Hallo Roland, which WebTest version do you use? Looking at the stack trace it doesn't seem to be a recent build and this error should not occur with a recent build. Gruss, Marc. Wuerth, Roland a écrit : > 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:djgredler@...] > *Gesendet:* Montag, 5. Oktober 2009 18:11 > *An:* htmlunit-user@... > *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 > <Roland.Wuerth@... > <mailto:Roland.Wuerth@...>> 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) > 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) > 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 > > > _______________________________________________ WebTest mailing list WebTest@... http://lists.canoo.com/mailman/listinfo/webtest _______________________________________________ WebTest mailing list WebTest@... http://lists.canoo.com/mailman/listinfo/webtest |
|
|
Re: AW: ClassCastException when clickingRichFaces-ButtonHallo Roland,
> > I don't have a clue which function they have in the RichFaces-Component, > but while Webtest (and HtmlUnit) tries to load the XMLHttpRequest.responseXML > into the iFrame it assumes that it is HTML and constructs an HtmlPage while > it should construct an XmlPage. Even after we patched this, Webtest tries > to invoke javascript and the next Exception is thrown. it seems that it is the root of the problem... but I don't fully understand what you mean :-( For what should WebTest construct an XmlPage? Cheers, Marc. _______________________________________________ WebTest mailing list WebTest@... http://lists.canoo.com/mailman/listinfo/webtest |
|
|
AW: AW: ClassCastException when clickingRichFaces-ButtonHallo Marc, I don't fully understand it either :-( But when I look into the stack-trace beginning at the second "caused by" I can see that HtmlUnit gets the resonseXML and constructs an XmlPage. Then a HtmlInlineFrame is constructed and WebClient.getPage() is called to WebClient.loadWebResponseInto()...into the XmlPage? A WindowContentChanged-Event is fired, which is consumed by Webtests WebClientContext$CurrentWindowTracker.webWindowContentChanged(), which calls HtmlUnits FrameWindow.getEnclosingPage(). Here the point where the page is casted into an HtmlPage, which leads to the ClassCastException because it is an XmlPage. Maybe Webtest should use getParentWindow().getEnclosedPage instead an test, if it is an HtmlPage before casting? Or HtmlUnit is wrong in constructing an XmlPage? I admit, I am confused... Roland Würth (IT-Frankfurt) Programm KonzernPerson - KP-FE/SL Raum GH 02.45.096, Theodor-Heuss-Allee 80, D-60486 Frankfurt Tel: +49 - 69 136 49668 mailto:roland.wuerth@... -----Ursprüngliche Nachricht----- Von: webtest-admin@... [mailto:webtest-admin@...] Im Auftrag von Marc Guillemot Gesendet: Mittwoch, 14. Oktober 2009 11:36 An: webtest@... Betreff: Re: AW: [Webtest] ClassCastException when clickingRichFaces-Button Hallo Roland, > > I don't have a clue which function they have in the > RichFaces-Component, but while Webtest (and HtmlUnit) tries to load > the XMLHttpRequest.responseXML into the iFrame it assumes that it is > HTML and constructs an HtmlPage while it should construct an XmlPage. > Even after we patched this, Webtest tries to invoke javascript and the next Exception is thrown. it seems that it is the root of the problem... but I don't fully understand what you mean :-( For what should WebTest construct an XmlPage? Cheers, Marc. _______________________________________________ WebTest mailing list WebTest@... http://lists.canoo.com/mailman/listinfo/webtest _______________________________________________ WebTest mailing list WebTest@... http://lists.canoo.com/mailman/listinfo/webtest |
|
|
Re: AW: AW: ClassCastException when clickingRichFaces-ButtonHi Roland,
Can we have a small test case that returns such a 'page', and we can check how real browsers manipulates it. And then fix HtmlUnit/WebTest accordingly.
Yours,
Ahmed ----Blog: http://asashour.blogspot.com From: "Wuerth, Roland" <Roland.Wuerth@...> To: webtest@...; Marc Guillemot <mguillemot@...> Sent: Wed, October 14, 2009 2:09:09 PM Subject: AW: AW: [Webtest] ClassCastException when clickingRichFaces-Button Hallo Marc, I don't fully understand it either :-( But when I look into the stack-trace beginning at the second "caused by" I can see that HtmlUnit gets the resonseXML and constructs an XmlPage. Then a HtmlInlineFrame is constructed and WebClient.getPage() is called to WebClient.loadWebResponseInto()...into the XmlPage? A WindowContentChanged-Event is fired, which is consumed by Webtests WebClientContext$CurrentWindowTracker.webWindowContentChanged(), which calls HtmlUnits FrameWindow.getEnclosingPage(). Here the point where the page is casted into an HtmlPage, which leads to the ClassCastException because it is an XmlPage. Maybe Webtest should use getParentWindow().getEnclosedPage instead an test, if it is an HtmlPage before casting? Or HtmlUnit is wrong in constructing an XmlPage? I admit, I am confused... Roland Würth (IT-Frankfurt) Programm KonzernPerson - KP-FE/SL Raum GH 02.45.096, Theodor-Heuss-Allee 80, D-60486 Frankfurt Tel: +49 - 69 136 49668 mailto:roland.wuerth@... -----Ursprüngliche Nachricht----- Von: webtest-admin@... [mailto:webtest-admin@...] Im Auftrag von Marc Guillemot Gesendet: Mittwoch, 14. Oktober 2009 11:36 An: webtest@... Betreff: Re: AW: [Webtest] ClassCastException when clickingRichFaces-Button Hallo Roland, > > I don't have a clue which function they have in the > RichFaces-Component, but while Webtest (and HtmlUnit) tries to load > the XMLHttpRequest.responseXML into the iFrame it assumes that it is > HTML and constructs an HtmlPage while it should construct an XmlPage. > Even after we patched this, Webtest tries to invoke javascript and the next Exception is thrown. it seems that it is the root of the problem... but I don't fully understand what you mean :-( For what should WebTest construct an XmlPage? Cheers, Marc. _______________________________________________ WebTest mailing list WebTest@... http://lists.canoo.com/mailman/listinfo/webtest _______________________________________________ WebTest mailing list WebTest@... http://lists.canoo.com/mailman/listinfo/webtest |
| Free embeddable forum powered by Nabble | Forum Help |