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:
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.
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/