Using XVFB with Selenium
The following section of this book requires work in Linux as the requirements are only available on this platform. When Selenium is running on your machine, you will see that it always runs on your screen. If you want to push the running of your tests to the background, you need to use XVFB (X11 Virtual Frame Buffer).
This allows us to run tests with a browser without it trying to steal focus from you. FirefoxDriver, for example, forces the browser to the foreground to help native events.
Setting up XVFB server
We will have to make sure that we have XVFB running on our machine. This should be fairly easy to get it right. Refer to the following steps to set up an XVFB server:
- Open a terminal.
- In the terminal, run the following command:
Xvfb :1 -screen 0 1600x1200x32
- The server will listen for connections as the server number,
1
, and screen,0
, has a depth of32
1600x1200
. - You should see something like the following screenshot on your terminal:
We have just seen what it takes...