HtmlUnit 2.5 released

The HtmlUnit team is pleased to announce the release of HtmlUnit 2.5. This release brings another round of improvements and bug fixes.

Here is an extract of the change log:


HtmlUnit @ JavaOne 09

Great news: the proposal of HtmlUnit committers Daniel Gredler and Ahmed Ashour for the next JavaOne conference has been accepted!

They will present ” HtmlUnit: An Efficient Approach to Testing Web Applications ” at the biggest Java conference in San Francisco (May 31 – June 05).

This is an additional very good sign for the constantly growing recognition of HtmlUnit and I hope that it will be the occasion for them to meet a lot of HtmlUnit users.

Should HtmlUnit move to Apache Foundation?

Should HtmlUnit move to Apache Foundation? (the first step would be to make a proposal for the Apache Incubator)

Nothing is decided, we’re just thinking loud and are interested to hear what our users think of this idea. I’ve started the discussion in HtmlUnit user mailing list but comments are welcome here too.

TheServerSide Java Symposium: “HtmlUnit: An Efficient Approach to Testing Web Applications”


I will present “HtmlUnit: An Efficient Approach to Testing Web Applications” together with Daniel Gredler at TheServerSide Java Symposium in Las Vegas (March, 18).

This will be funny because I work together with Daniel in the HtmlUnit project since a few years and I’ve never met him until now.

I think that this will be a great occasion to show HtmlUnit’s potential and I hope that we will meet a lot of HtmlUnit users.

Thanks to Tools & Techniques chair Frank Cohen for inviting us.

HtmlUnit 2.4 released

The HtmlUnit project is pleased to announce the availability of the HtmlUnit 2.4 release.
This release brings another round of improvements and bug fixes. This should have been a Christmas relase but a regression found in NekoHtml-1.10 forced us to wait a bit.

Here is an extract of the change log:

  • improved JS support, particularly full support for the AJAX libraries JQuery and MochiKit
  • possibility to use real ActiveX objects (on windows only)
  • minimal applet support
  • support for IE conditional comments



HtmlUnit: full support for MochiKit

Upcoming release 2.4 of HtmlUnit will provide 100% support (1) for the JavaScript library MochiKit (version 1.4.1)!

The library’s own tests are integrated in HtmlUnit’s build and they now all (2) pass, no matter if we simulate Firefox 2, Firefox 3, Internet Explorer 6 or Internet Explorer 7. This time, it was not so complicated to reach 100% support: fix a bug in Rhino, implement a dummy support for the filters property on HTML elements when simulating IE, handle detached nodes for offsetParent, and fix a few things in computing CSS properties.

I believe that we’re on the right way and that we’ll soon be able to announce full support for other well known libraries.

(1) I suppose here that the library’s own tests are representative for the library usage.
(2) In fact we run only the tests files that pass in a “real” browser and therefore have to ignore 3 files.

Why Google should better use HtmlUnit to avoid JS error on its start page

Like many other testing tools, WebTest uses Google‘s website for simple code examples. It has the advantage to be a well known website, pretty fast and with simple code. used to be a simple page

For some time WebTest users started to report that even simple examples from the demo tests available when creating a new project failed due to JS errors like this:

As this test used to work, this means that Google’s start page isn’t so simple any more that it used to be. It was predictable that this page would change one day but it is quite embarrassing as we use this kind of tests to show how easy and powerful WebTest is even for sites using a lot of JS stuff. has really a JS error!

HtmlUnit‘s JS support is quite good (and improved continuously), but of course not (yet 😉 ) as good as the one of “real” browsers, therefore I’ve started to search for the cause of the problem in HtmlUnit, looking for missing/incorrect implementation of some JS functionalities. At the end I’ve found that the problem occurred only when setting directly the value attribute of the field rather than calling the type(...) method on it because keypress handlers were being used. This means that WebTest should probably use type(...) rather than setting the field’s value directly.

But this means as well that Google’s home page relies on the keypress handlers and that the JavaScript code doesn’t work correctly if these handlers are not called like in following scenario:

  1. – go to (to be sure to have the English version of the page)
  2. – right mouse click in the search field to paste some value to search for
  3. – click the “I’m Feeling Lucky” button

The results are quite similar to the JS error obtained by WebTest, no matter if you use Firefox or Internet Explorer (perhaps does it work correctly with Chrome 😉 ):

Rather painful for Google than for WebTest!

OK, this error is nothing dramatical but for an Internet giant like Google that has plenty of talented engineers (and …, and…, and …. You perhaps know better than I what the web means for Google), I find quite painful to have such an error on its main page!

The error scenario is not particularly complicated and such a case should surely be covered by automated tests. Perhaps is it a question of inadequate tools? Google seems to use intensively Selenium 😉 .

Concerning WebTest, I’ll start the discussion on the mailing list to decide what is the best way to follow: setting directly the field value, typing it, or having both possibilities.

WebTest @ JUG Cologne slides

Here are the slides of the presentation I’ve made yesterday:

HtmlUnit 2.2 Released

The HtmlUnit team is pleased to announce the release 2.2 of HtmlUnit.

HtmlUnit is a 100% java “browser for java programs” that can be used for different purposes like web testing or scraping. It is lightweight and extraordinary fast. Its JavaScript processing capabilities are not yet perfect but already good enough to work correctly with numerous complex AJAX libraries like for instance GWT. It can be used directly or through other open source sofwares like WebTest, WebDriver, JSFUnit, or more recently the JRuby Celerity.
This release contains numerous improvements and bug fixes, particularly in handling of ill formed HTML code and in AJAX support as well as noticeable speed gains making it even faster in different situations.



Yet Another JRuby Wrapper for HtmlUnit: schnell

After Celerity, a new open source JRuby library, schnell, uses HtmlUnit to provide a fast Watir-like API for functional testing of web applications. According to the announcement, it runs… 37,5 times faster than Watir!

(thanks Daniel for the info)

« Older entries