More on Canoo Web Test and other tools

My last post drew a hostile comment by Marc Guillemot, one of the committers to Canoo Web Test and HTMLUnit.  I may have made some errors, but I am not aware of them.  I think he may have been confused that I mentioned HTMLUnit uses HTTPClient, and assumed I meant that HTTPClient has all the features of HTMLUnit.

I found on his blog a biased comparison of canoo and selenium, that essentially backs up the points I was trying to make.  It seems one of his chief frustrations is people not being aware of the two different ways web applications can be tested, which was the point of my last post.  From what I can tell, his stance is that I’m an idiot, but that he agrees with me.

It’s nice to have company.

Through my own search, I found out about a tool that allows recording of Web Test scripts.  There is in fact a web test recorder and I hope to try it out soon.

On my current projects, I’m committed to selenium, and as most of it’s fans know, it’s more than just a browser record & playback toy.  As Marc and the Canoo company like to quote “Record/Playback is the least cost-effective method of automating test cases.”

I don’t have time or inclination to debate the one true testing tool, but I disagree that the answer is a complex browser-stub, though I commend the Canoo team for their efforts.  I have used and will undoubtedly use Canoo in the future.

The reality is that printing out the HTML is the least complex part of an application’s functionality, followed second by querying the database.  The user interface does in fact play a significant role, and there is often more complexity in the javascript presentation than the remainder of the logic in most business applications (assuming network communications, transactions, queuing, etc. are abstracted in frameworks — things tools like canoo webtest are no better at validating than browser driving tools like selenium and watir.)

There is a place for both types of tools, and I had hoped to have stated that clearly in my last post.

I also learned about some other interesting tools: one that uses HTMLUnit and Jruby: Celerity, which has WATIR-like syntax; and Cubictest which is an eclipse plugin for writing Selenium and Watir tests.

Another interesting idea I found on some mailing list archive (can’t find the link) is to use Selenium IDE to generate  WebTest scripts.

3 thoughts on “More on Canoo Web Test and other tools

  1. I’m sorry if you’ve been irritated by my comments, but for instance I haven’t dreamed that you have written following:
    “The HTTPClient library (used by many of the above) is virtually a browser in it’s own right, with it’s own quirks. It has support for cookies, Javascript, DOM, and HTTPS. However, WebDriver doesn’t enable this by default.”

    As shown by your previous comment here, you seem to now recognize that WebDriver isn’t really in the category where you’ve put it in your last post. Perhaps did you simply write “two ways to automate web testing” too early…

  2. I’m sorry, you are correct. I did say that and it was a mistake. I meant to say something along the lines of:

    “HTMLUnit (which uses the HTTPClient library used by many of the above) is virtually a browser in it’s own right, with it’s own quirks.”

    I apologize for the typo. I really am a big fan of your work, and owe you a debt of gratitude. I was very excited to graduate from HTTPUnit to HTMLUnit.

    That said, I’ve found many of your posts and evangelism to be abrasive and offputting. No doubt you come across as nicer in person.

    I was also incorrect about WebDriver, a tool I haven’t used, but from a first impression after reading their website, which says it principally uses the HTMLUnit driver, I made an incorrect assumption.

    My blog is my own personal notes, and is not intended as a reference for anyone else. Unfortunately, thanks to search engines, I see that isn’t always the case. I will try to be more accurate and coherent in future posts, especially now that I find I may have occasional readers.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s