Search code examples
firefoxtestingautomationgoogle-chrome

Automating Firefox and Chrome browsers


I am looking for a way to automate a couple of browsers like Firefox and Chrome (for now on just on Windows) from an external application/process.

Is there a way to do things along these lines:

  1. Start the browser with a URL
  2. Have the browser load the page, run scripts etc.
  3. Inspect the DOM

For reference, IE can be automated using the InternetExplorer.Application object which can be created in a shell script using the following JavasSript. I can then walk the DOM API:

var ie = new ActiveXObject('InternetExplorer.Application');

The motivating scenario here is automated testing. I'd like to load the page containing the test code and gather results after the test has run.


Solution

  • https://sourceforge.net/projects/watin/

    WatiN does exactly that, and I believe they recently added Chrome support.

    Update 6/22/2011:

    Currrently WatiN only works on Firefox 2 and 3, not in Firefox 4 (and almost certainly not in Firefox 5, which was released today). Also, at the time of this answer, Chrome support was supposedly being added, but it looks like that never got fully baked and now is not listed as a supported platform on their home page.

    Also worth noting, in my experience WatiN got a lot slower when I upgraded to IE9. I saw this on two different machines, and downgrading to IE8 sped the tests back up on both machines.

    I still use WatiN heavily, but now mostly for behavior driven design and functional regression testing, which generally are not browser-specific. Then, manually test in FF and Chrome for all regression testing.

    Update 9/22/2015:

    Elmue is right, it looks like WatiN is no longer being worked on. We're looking into Selenium for our automated acceptance tests now: https://www.selenium.dev/