Linux下的Jenkins里配置Webdriver项目会碰到如下错误
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: no display specified
Error: no display specified
主要是因为webdriver需要一个虚拟的GUI来运行浏览器, 查了网上的资料,大多数都说用Xvfb, 配置里还需要有export DISPLAY=:1
可是我又碰到了新的错误即使配置了DISPLAY
Error: cannot open display: :1
感觉Xvfb使用比较麻烦,特别是我的机器还不是官方的Ubuntu, Red hat可以参考下面两篇文章
Running headless WebDriver tests with Firefox 10, Xvfb and Jenkins (all on RHEL 6)
http://www.jpalomaki.fi/?p=403
Running headless webdriver based selenium junit tests inside jenkins under ubuntu linux
最后找到还有一个虚拟UI就是VNC, Jenkins XVnc Plugin,使用非常简单,安装后在项目的config里勾选“Run Xvnc during build”就可以了,
服务端安装
sudo apt-get install vnc4server
# Now start the VNC server once as the jenkins user and give it a password,
# otherwise it'll try to ask Jenkins
sudo su jenkins
vncserver
[enter password: vncserver]
Ctrl-C
Testing with Selenium 2 / WebDriver, Firefox, Jenkins and Linux
http://fuzzydb.blogspot.tw/2011/08/testing-with-selenium-2-webdriver.html