Debugging Tips for Selenium Test Failures
While Selenium has gained wide acceptance as a useful tool for automating browser-level tests, tracking down the cause of test failures can take significant time. Daniel Wellman has shared two of his best tricks to greatly reduce debugging time for failed Selenium tests.
The first technique is to capture a screenshot any time a test fails. There are a couple of methods provided to support this: captureScreenshot, and captureScreenshotToString. The post Capture Screenshots of Selenium Failures, on the YouDevise Developer blog provides some example Java code for how this approach might be implemented.
The second technique is to capture the HTML DOM contents when a test fails. For this, Wellman recommends using the method getHtmlSource to capture the contents of the DOM and write them out to a file.
Taking the time to incorporate these two techniques could pay off handsomely in time saved debugging. This is not the first time that Wellman has written about the value of investing in your tools to gain more productivity. What improvements have you made to your toolset, testing or otherwise, that had big payoffs for you? Leave a comment and share with the InfoQ community.
More detail on capturing screenshots with Selenium
screenshot is often useless
i like the way WebTest Canoo does it
Re: screenshot is often useless
You can capture the full browser window, as opposed to just the O/S window with Selenium for Firefox and IE with their native commands.
Cloud Testing has extended this to also work with Safari, Opera and Chrome. This will hopefully be integrated back into the main Selenium release soon.
See blog.cloudtesting.com/2009/06/24/capturing-scre... for more details.