There are a few options:
-
You could use Selenium Grid so that the browser is opened on a completely different machine (or virtual machine) that you can then connect to via VNC or Remote Desktop Connection if you wanted to see the browser. Also, another option: if you run a Jenkins foreground process on that remote server, it can execute your test project on the desktop.
-
You can run Selenium ‘headless’ on Linux in XVFB. I’ve never tried doing this and doubt it’s really worth the effort. http://www.alittlemadness.com/2008/03/05/running-selenium-headless/
-
You can wrap Selenium RC in a Windows service. http://support.microsoft.com/kb/137890 . Except that permissions constraints on later versions of windows will probably prevent Selenium from accessing the desktop like Windows 2000 used to allow us to do.
-
Another option would be to use something like WebDriver HTMLUnitDriver, which doesn’t launch a ‘real’ browser. http://code.google.com/p/webdriver/ . Also there is a PhantomJS option as well as a ‘headless Chrome’ that you could use.
-
Of course there’s also the option of using a service like SauceLabs, where you can get your tests to be run in the cloud. After your tests have completed you can watch a video of them running.