18

ヘッドレスgem、Xvfb、およびciサーバーでcapybara-webkitを実行する際に問題が発生しました。このセットアップは、Ruby onRails3.2アプリの自動統合テストとJavaScriptテストに使用します。テスト中にそれはそれを文句を言う

webkit_server: cannot connect to X server

しかし、私が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

Xvfbが実行されているのがわかります。それを使用してテストを実行すると、--trace上記のエラーログのみが表示され、エラーをデバッグできません。

どうすればもっと多くの情報、あるいは解決策を得ることができるかについてのアイデアはありますか?

4

4 に答える 4

14

私はcapybara-webkitgemをcapybaraで動作させることを試みていましたが、最終的xvfb-runにはCIジョブでテストに使用しました。

xvfb-run bundle exec cucumber ...

CIジョブが実行しているコマンドは何ですか?

于 2012-07-16T01:37:26.170 に答える
5

同じ問題が発生しました...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
于 2012-08-30T21:36:43.387 に答える
3

Travis CIを使用している場合は、次の構成設定からある程度のマイレージが得られる可能性があります。

before_install:
- "echo 'gem: --no-document' > ~/.gemrc"
- "echo '--colour' > ~/.rspec"
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
于 2013-10-16T23:30:41.537 に答える
1

xvfbをインストールします

sudo apt-get install xvfb 

次に、xvfbを使用してコマンドを実行します

xvfb-run rspec
于 2014-09-30T20:05:00.140 に答える