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.

Slides from Grails Plugins session at WJAX 08

Here are the slides of my presentation (in German) “Grails Plug-ins verwenden und selbst entwickeln” last week at W-JAX 08 in Munich.

HtmlUnit 2.3 released

The HtmlUnit project is pleased to announce the release of HtmlUnit 2.3. This release brings another round of improvements and bug fixes (the release process has taken an unusual long time due to problems caused by SourceForge datacenter migration).

Here is an extract of the complete change log:
– better generics support to avoid casting
– improved JS support, particularly full support for GWT 1.5
– Firefox 3 now in the list of the simulated browsers
– a CookieManager
– …

The generics improvements may require some simple code changes if you are using Sun Java 5 compiler due to a bug which has been fixed in Sun Java 6 compiler but not been back ported.



NekoHTML 1.9.9 released

Release 1.9.9 of NekoHTML is now available.

This release contains different bug fixes and improvements,
particularly in incorrect html code handling. Thanks to everyone who
contributed to this release.

Change log: here


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:

W-JAX talk accepted: “Grails Plug-ins verwenden und selbst entwickeln”

My proposal for the W-JAX conference has been accepted: “Grails Plug-ins verwenden und selbst entwickeln” (something like “using and developing Grails plugins”). It was funny because I received the confirmation from the organizers one day after a friend told me that he had seen it on the conference’s web site (it was for a few weeks).

My original idea was to present ALL the plugins available on Grails’ plugin page. It would already have been difficult at the time I’ve submitted my proposal as ~60 plugins were available. Today, I’ve counted again: 90 plugins! I’ll have to make some hard choices and won’t definitely have time to present all.

WebTest @ JUG Cologne, 25.08.2008

I’ll give a presentation about efficient web test automation with WebTest at JUG Cologne on 25.08.2008. Thanks Michael for inviting me, it’s an honour to appear in the list of great speakers of my “home JUG”.

There is no time limitation (according to Michael) therefore I plan to show different new demos of existing features as well as of future ones that should trouble / motivate / question the attendees.

There will be a Lightning Talk on Selenium by Simon Tiffert before my presentation. I think that this will be quite interesting as well because Simon has far more experience with Selenium than nearly all persons blogging about this tool.

« Older entries Newer entries »