How to set up a Headless Selenium Testing environment for CentOS 6.3.
Follow these steps to set up a CentOS 6.3 host to run headless Selenium tests with Firefox.
sudo yum -y install firefox Xvfb libXfont Xorg
sudo yum -y groupinstall "X Window System" "Desktop" "Fonts" "General Purpose Desktop"
(installation takes a few minutes)- Launch an XWindows Virtual Frame Buffer(XVFB) session on display port 99:
Xvfb :99 -ac -screen 0 1280x1024x24 &
- Tell all XWindows applications in this terminal session to use the new Xvfb display port:
export DISPLAY=:99
- Start the Selenium server, eg:
java -jar /opt/selenium-server-standalone.jar &
- Now start your Selenium tests. The Selenium server should spawn a headless Firefox instance and your tests should run successfully.
How to install an XWindows terminal so that you can connect to your CentOS 6.3 host and run your Selenium tests in a graphical Web browser. This capability will be invaluable whenever you need to debug Selenium tests on one of your remote hosts.
- Open XQuartz and ssh to your CentOS host using the
-X
option, eg:ssh -X [email protected]
- On the remote host, type
export DISPLAY=localhost:10.0
- Start the Selenium server in the same terminal session, eg:
java -jar /opt/selenium-server-standalone.jar &
- Now simply run your tests and you will see Firefox start up and run in the GUI, just like on the destkop!
Note that it's much slower to execute the tests under XWindows vs. Xvfb.
- Open XQuartz and ssh to your CentOS host using the
-X
option, eg:ssh -X [email protected]
- On the remote host, type
export DISPLAY=localhost:10.0
- On the remote host, type
firefox &
and after a long pause you should see Firefox start up in a GUI window.
XQuartz replaces the old X11 terminal that was part of Mac OS up until Mountain Lion. If you have an older version of Mac OS X then X11 should already be installed, and you can mentally replace "XQuartz" with "X11" throughout these instructions.
- Get XQuartz here. http://xquartz.macosforge.org/landing/ (The download will take a few minutes.)
- Run the installer.
- Log out and log back in.
- That's it! XQuartz should now be installed.
Tried to follow the procedures but step 2 gotta error.
@shssoichiro tried to proceed further but there is another error on accessing selenium.jar.
[root@scibrokes ~]# yum groups mark install "X Window System" "Desktop" "Fonts" "Geberal Purpose Desktop" Loaded plugins: fastestmirror, langpacks Determining fastest mirrors * base: mirror.i3d.net * epel: mirrors.coreix.net * extras: mirror.i3d.net * updates: mirror.i3d.net Marked install: X Window System,Desktop,Fonts,Geberal Purpose Desktop [root@scibrokes ~]# Xvfb :99 -ac -screen 0 1280x104x24 & [1] 4560 [root@scibrokes ~]# Initializing built-in extension Generic Event Extension Initializing built-in extension SHAPE Initializing built-in extension MIT-SHM Initializing built-in extension XInputExtension Initializing built-in extension XTEST Initializing built-in extension BIG-REQUESTS Initializing built-in extension SYNC Initializing built-in extension XKEYBOARD Initializing built-in extension XC-MISC Initializing built-in extension XINERAMA Initializing built-in extension XFIXES Initializing built-in extension RENDER Initializing built-in extension RANDR Initializing built-in extension COMPOSITE Initializing built-in extension DAMAGE Initializing built-in extension MIT-SCREEN-SAVER Initializing built-in extension DOUBLE-BUFFER Initializing built-in extension RECORD Initializing built-in extension DPMS Initializing built-in extension Present Initializing built-in extension X-Resource Initializing built-in extension XVideo Initializing built-in extension XVideo-MotionCompensation Initializing built-in extension SELinux Initializing built-in extension GLX [root@scibrokes ~]# export DISPLAY=:99 [root@scibrokes ~]# java -jar /opt/selenium-server-standalone.jar & [2] 4616 - [root@scibrokes ~]# Error: Unable to access jarfile /opt/selenium-server-standalone.jar
Here is another error during install seleniuim http://www.thelinuxdaily.com/2011/07/how-to-install-and-use-selenium-server-in-linux/#comment-44118