HtmlUnit 1.12 Released

As per Marc’s announcement on the mailing lists and my post to TSS, HtmlUnit 1.12 has been released.

It contains a really mind-blowing number of bugfixes, a couple of very important performance improvements (including one last minute change which cut the build time by a third), and a couple of new features like Marc’s experimental AJAX controller. The change log has all the details.

Progress has been made in the compatibility department on a number of fronts: Marc Guillemot has been working on drag’n’drop support, more Prototype unit tests are passing, I’ve gotten all the jQuery unit tests to pass, and Ahmed Ashour has committed support for basic GWT applications.

Robert Di Marco and I are both interested in investigating YUI compatibility, so there may be some news to look forward to in that area.



  1. Howard Lewis Ship said,

    August 19, 2007 at 11:31 am

    Sounds very interesting; do you think this will apply to Tapestry? Would we be able to switch over from Selenium to HtmlUnit? When HtmlUnit tests fail, what kind of information do you get out of it?

  2. Daniel Gredler said,

    August 21, 2007 at 4:44 pm

    Hi Howard,

    The Prototype and work could end up ensuring compatibility with T5, but nobody has yet investigated Dojo compatibility, so none of this affects T4 compatibility.

    Honestly, for T5, I would definitely leave Selenium in. It has a good community and great momentum, warts and all. Once the HtmlUnit JS library compatibility work gets to a more advanced stage (maybe two or three releases down the line?), it would be a good idea to investigate offering both Selenium and HtmlUnit (or one of its derivatives) as options. I won’t go into all the trade-offs involved right now. I’m planning on writing a series of web app test framework comparison articles in the near future, and one of the comparisons will be between HtmlUnit and Selenium.

    As far as failure information is concerned, it depends on the kind of failure you’re referring to. If you mean that your assertions fail, then you get whatever information your test framework (JUnit, TestNG, etc) provides. If you mean a bug in HtmlUnit which would not occur in a native browser, most failures are caused by JavaScript host object implementation. In this case HtmlUnit gives you line information on the specific JavaScript that caused the failure, including an integrated JS / Java stack trace.


Get every new post delivered to your Inbox.

%d bloggers like this: