2012-10-08 19 views
0

我遇到了很多麻烦运行使用水豚,WebKit的驱动我的黄瓜测试用例。因为这是一个无头的服务器,我试图运行xvfb-run来运行测试,但是仍然遇到障碍。竹+黄瓜+ Webkit的司机

如果我试图从我的服务器耙不存在运行

xvfb-run rake cucumber:all 

然后我得到的错误。 (即使它)

如果我试图通过捆绑exec来运行它

xvfb-run bundle exec rake cucumber:all 

然后我得到一个错误,告诉我捆不存在!

两个命令都从做SSH工作到服务器,但是它的竹来,他们这样做不仅当。我已经尝试了两个Rake任务,只是做了一个脚本来运行bundle exec,但是nada。

我想知道是否有其他人有这个设置,如果他们能够通过我如何在竹子内设置它,这是一个非常典型的滑轨项目,这是我的最后一个阶段,让我的CI启动并运行。

谢谢!

+0

我喜欢技术的名字如今:“黄瓜”,“红宝石上轨”。 –

+0

嘿,打败了缩写地狱的字母表汤。 :) –

回答

0

我想我已经想通了基于此页面,我发现在这里,这是关于使用詹金斯上。 http://sermoa.wordpress.com/2011/07/02/cucumber-running-headless-selenium-with-jenkins-the-easy-way/

的基本思想是用“无头”的宝石,然后把这个部分你env.rb黄瓜:

if ENV['HEADLESS'] == 'true' 
    require 'headless' 

    headless = Headless.new 
    headless.start 

    at_exit do 
    headless.destroy 
    end 
end 

然后在竹与环境变量运行正常rake任务“HEADLESS =真”。

你必须在服务器上安装XVFB了。 (命令和apt-get安装XVFB)

0

这里是一个将设置水豚,WebKit和无头黄瓜使用前/挂机后工作的更新版本。只是包含这个在您的支持/ env.rb或其他支持文件(我用的支持/ javascript.rb因为有一些相关的事情,我做的):

Capybara.javascript_driver = :webkit 

Before do 
    # run capybara-webkit headless if not on mac and this test is selenium based. 
    if Capybara.current_driver == :selenium 
    require 'headless' 
    @headless = Headless.new 
    @headless.start 
    end 
end 

After do 
    @headless.destroy 
end 

编辑:下面是一些可加标签善良,其中一个要点你可以使用:铬在本地开发模式下,如果你想同时确保CI环境仍然具无头:

https://gist.github.com/rosskevin/5937888