Hi everybody

I am writing a Selenium test to test a Tapestry 5.3.8 web app, and in that test 
I retrieved the whole client-side page source into a String. It's a regular 
HTML page generated by Tapestry. Nothing special about it, it starts with

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml";><head> ....

and it ends with

...... </body></html>

I need to create an org.apache.tapestry5.dom.Document instance from that page 
source, manipulate its DOM, turn the resulting Document back into a string, and 
make assertions about this string.

My problem is only that I can't seem to be able to do the first step, that is 
create the Document instance from my String containing the page source.

I tried MarkupWriter (its write() and writeRaw() methods):

       MarkupWriter writer = new MarkupWriterImpl();

       writer.write(htmlText); // writer.writeRaw(htmlText);

       Document document = writer.getDocument();

but then document does not contain the DOM elements that were in htmlText 
(which is the String containing the page source), and 
document.getDocumentElement() returns null.

I have tried other variations still with MarkupWriter, Document and all their 
methods that seemed related, but I got nothing.

I'm sure I'm just missing something trivial. Does anyone know ?

If possible I'd prefer a Tapestry solution, where the created object is an 
org.apache.tapestry5.dom.Document, but if it's necessary to get a 
org.w3c.dom.Document instead, or to use something else outside Tapestry, I 
would still go for it.

Thanks in advance.

Reply via email to