Hi,
I've understood the problem and this needs to be fixed in HtmlUnit
(please open a bug issue for that): a responseXML.getElementById('some
id') is made on the XMLHttpRequest and this is not correctly supported
by HtmlUnit. I wanted to fix it, but I didn't achieved to write in a
short time a test working in my FF with getElementById on XMLDocument.
Cheers,
Marc.
--
Blog: http://mguillem.wordpress.com
Valdis Rigdon wrote:
I've turned up debugging as you've suggested and I don't see anything
obvious. The first time 'XmlPage' comes up in the logs is on the
ClassCastException. I've written a quick test case against the Rich
Faces demo site and it fails like ours after clicking the 'Say Hello'
button which makes the AJAX request and updates the page.
<webtest name="command-button">
<config host="livedemo.exadel.com" resultpath="${wt.config.resultpath}" protocol="http"
basepath="richfaces-demo/richfaces/" saveresponse="${config.saveResponse}" summary="true"
haltOnError="${config.halt}" haltOnFailure="${config.halt}"
errorProperty="webtest.error" failureProperty="webtest.failure">
<header name="Cookie" value="JSESSIONID=${sessioncookie}"/>
<option name="RedirectEnabled" value="true"/>
<option name="ThrowExceptionOnFailingStatusCode" value="false"/>
<option name="ThrowExceptionOnScriptError" value="true"/>
</config>
<steps>
<invoke url="commandButton.jsf"/>
<groovy>
assert step.context.currentResponse.asText().contains('but
produces an Ajax request with a further partial page update')
</groovy>
<setInputField xpath="id('j_id213')/table/tbody/tr/td[2]/input"
value="Bob Dole"/>
<clickButton label="Say Hello"/>
<sleep seconds="10"/>
<groovy>
assert
step.context.currentResponse.asText().contains('Hello Bob Dole')
</groovy>
</steps>
</webtest>
>>
com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest$1.run(XMLHttpRequest.java:351)
>> at org.mozilla.javascript.Context.call(Context.java:577) >> at
org.mozilla.javascript.Context.call(Context.java:499) >> at >>
com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest$2.run(XMLHttpRequest.java:357)
>> at java.lang.Thread.run(Thread.java:595) >> at >>
com.gargoylesoftware.htmlunit.ThreadManager$1.run(ThreadManager.java:120)
>> Caused by: java.lang.ClassCastException: >>
com.gargoylesoftware.htmlunit.xml.XmlPage >> at >>
com.gargoylesoftware.htmlunit.javascript.host.Document.jsxFunction_getElementById(Document.java:872)
>> at sun.reflect.GeneratedMethodAccessor276.invoke(Unknown Source) >>
at >>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585) >> at
org.mozilla.javascript.MemberBox.invoke(MemberBox.java:155) >> ... 18
more >> >> >> Relevant part of onreadystatechangehandler: >> >>
if (_this._request.responseXML) {
_this._parsingStatus =
Sarissa.getParseErrorText(_this._request.responseXML);
if (_this._parsingStatus == Sarissa.PARSED_OK &&
Sarissa.setXpathNamespaces) {
Sarissa.setXpathNamespaces(_this._request.responseXML,
"xmlns='http://www.w3.org/1999/xhtml'");
}
}
if (_this.onready) {
_this.onready(_this);
}
>> >> The framework is generating the response and all the javascript
on the >> frontend, so trying to break this down to a reproducable test
case isn't >> easy. I was hoping that some one on this list is using
Rich Faces and >> WebTest and may have a few tips. >> >> I've seen
previous bugs that have been fixed in HtmlUnit for >> ClassCastException
errors with XmlPage. Is this related? >> >
_______________________________________________ WebTest mailing list
[email protected] http://lists.canoo.com/mailman/listinfo/webtest
------------------------------------------------------------------------
View this message in context: Re: ClassCastException: XmlPage
<http://www.nabble.com/ClassCastException%3A-XmlPage-tp14336206p14398902.html>
Sent from the WebTest mailing list archive
<http://www.nabble.com/WebTest-f14809.html> at Nabble.com.
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest