用Jenkins在红宝石中进行硒试验

时间:2014-09-28 10:02:05

标签: ruby selenium rspec jenkins

我正在尝试在Mac上运行的本地计算机上设置CI。为此,我使用Xubuntu虚拟机,Jenkins和一些简单的selenium测试。 tests on github

我得到Xubuntu的全新安装,我使用官方手册安装Jenkins。 在Jenkins我安装了一些插件(git,ruby,rake,rbenv)。 在作业配置中我使用rbenv包装器(2.1.0)而忽略了os版本,我也使用这个gemlist:

bundler,rake,rspec,selenium-webdriver,capybara 

并使用

运行该作业
rspec spec

当我完成这项工作时,每次测试都会收到类似的信息:

  

硒::的webdriver ::错误:: WebDriverError:          无法在60秒内获得稳定的firefox连接(127.0.0.1:7055)

完整输出is here

看起来jenkins用户无权显示运行/看到firefox。 有谁知道如何使它工作?

2 个答案:

答案 0 :(得分:0)

我们最近遇到了这个问题,并且实际上选择了Capybara并将驱动程序设置为poltergeist。这似乎比试图弄清楚如何在我们的虚拟机上运行FF更好。

也就是说,我们可以按照here

的说明运行一个小型测试套件

答案 1 :(得分:0)

答案并不像我想的那么简单。 问题是jenkins服务无法访问显示(当它通过本机包安装时)。这就是为什么当我尝试启动Firefox时,它会给我一个错误。尝试:

$ sudo su - jenkins && firefox

因此需要访问display才能成功启动浏览器。 这就是我做的方式:

  1. 首先,我使用了答案表here,然后我改为本地用户。

  2. 然后我将xvfb插件安装到Jenkins,并在我的构建作业预设显示为'0' - 这是我的实际用户显示。使用该选项,我的所有测试都将“无头”,但在实际显示中。

  3. 这可能不是解决我问题的最佳方法,但它绝对适用于我。