Is it possible to run Selenium scripts without having an X server running, too?

Zack Burt picture Zack Burt · Feb 9, 2012 · Viewed 11.5k times · Source

I have a python script that uses selenium RC; specifically webdriver.

I would love to have the script run as a post-commit hook, ideally through IE, Safari (if possible), Chrome & Firefox.

But I'm not sure what I'd need to do, since every time I run it on my local machine, a browser pops up.

I've heard of "saucelabs". Is it the best solution?

Answer

plaes picture plaes · Feb 9, 2012

Yes, you need to have X server running because Selenium requires a running browser and browsers need some kind of X server in order to run.

Fortunately there are many types of X servers and one of them is Xvfb aka X virtual framebuffer that does all the operations in memory and thus requires no screen.

Wikipedia has also some nice examples.

Also there are lots of questions here on SO for keywords headless, xvfb and selenium. Choose wisely ;)

[Edit]: Here's a nice example.