23t*_*tux 18 ruby webkit ruby-on-rails ruby-on-rails-3 capybara-webkit
我在使用Headless gem,Xvfb和我们的ci服务器运行capybara-webkit时遇到了一些问题.我们使用此设置进行Ruby on Rails 3.2应用程序的自动集成测试和javascript测试.在测试期间,它抱怨说
webkit_server: cannot connect to X server
Run Code Online (Sandbox Code Playgroud)
但是当我 ps aux | grep Xvfb
deploy 1602 0.0 0.1 61696 1912 pts/2 S+ Jul10 0:00 /usr/bin/Xvfb :99 -screen 0 1280x1024x24 -ac
Run Code Online (Sandbox Code Playgroud)
我看到Xvfb正在运行.如果我用--trace它运行测试也只显示上面的错误日志,我无法调试错误.
有什么想法我可以获得更多信息,甚至解决方案?
小智 14
我试图让capybara-webkit gem与capybara一起工作,最后xvfb-run在CI工作中使用我的测试.
xvfb-run bundle exec cucumber ...
Run Code Online (Sandbox Code Playgroud)
CI作业执行的命令是什么?
我们遇到了同样的问题......事实证明,在我们的spec_helper.rb中,我们错过了无头启动命令(如下).
这是我们的rspec配置:
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
require 'capybara/webkit'
require 'headless'
Capybara.register_driver :webkit do |app|
Capybara::Driver::Webkit.new(app, :ignore_ssl_errors => true)
end
Capybara.javascript_driver = :webkit
# don't run on the local machine (since we don't have xvfb running locally)
if Rails.env.production?
headless = Headless.new
headless.start
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6212 次 |
| 最近记录: |