0

capybara-webkit ドライバーを使用する cuke テスト ケースの実行に多くの問題があります。これはヘッドレス サーバーであるため、xvfb-run を実行してテストを実行しようとしていますが、引き続き障害が発生します。

走ろうとしたら

xvfb-run rake cucumber:all

次に、サーバーから rake が存在しないというエラーが表示されます。(そうだとしても)

bundle exec 経由で実行しようとすると

xvfb-run bundle exec rake cucumber:all

次に、バンドルが存在しないというエラーが表示されます!

どちらのコマンドも ssh からサーバーへは機能しますが、Bamboo からの場合のみ機能しません。私は Rake タスクと、bundle exec を実行するスクリプトを実行するだけの両方を試しましたが、.

他の誰かがこのセットアップを行っているかどうか、また彼らが竹内でどのようにセットアップしたかを説明してくれるかどうか疑問に思っています.そして走っています。

ありがとう!

4

2 に答える 2

0

ここで見つけたこのページに基づいて、Jenkinsの使用に関するものを理解したと思います。 http://sermoa.wordpress.com/2011/07/02/cucumber-running-headless-selenium-with-jenkins-the-easy-way/

基本的な考え方は、「ヘッドレス」gem を使用し、このセクションをキュウリの env.rb に配置することです。

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

  headless = Headless.new
  headless.start

  at_exit do
    headless.destroy
  end
end

次に、環境変数「HEADLESS=true」を使用して、通常の rake タスクを Bamboo で実行します。

サーバーにも xvfb をインストールする必要があります。(sudo apt-get install xvfb)

于 2012-10-09T18:40:53.213 に答える
0

これは、前/後フックを使用してキュウリの capybara-webkit と headless をセットアップする更新されたバージョンです。これをsupport/env.rbまたは別のサポートファイルに含めるだけです(関連することがいくつかあるため、support/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環境がヘッドレスのままであることを確認しながら、必要に応じてローカル開発モードで :chrome を使用できるタグ付け可能な利点の要点です:

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

于 2013-07-05T16:18:14.430 に答える