4

Cucumber テストを手動で実行するときは、通常、Firefox で Selenium を使用します。しかし、Autotest を実行するときは、Capybara-webkit を使用して実行したいと思います。そうしないと、Firefox が常にフォアグラウンドにジャンプしてしまい、非常に煩わしいからです。

では、これはどのように達成できるのでしょうか? 設定する必要がありそうです

Capybara.javascript_driver = :webkit

テストがAutotestによって実行されるかどうかに応じてenv.rbファイルに含まれますが、どのように区別するのですか?

別のオプションは、Firefox をバックグラウンドで起動するように指示することですが、どうすればこれを実現できますか?

考えられる回避策は次のとおりです。クロムを使用してください。これはバックグラウンドで開始されるように見えるため、ワークフローが中断されることはありません。http://collectiveidea.com/blog/archives/2011/09/27/use-chrome-with-cucumber-capybara/を参照してください。

どうもありがとう!ジョシュ

4

1 に答える 1

1

Rails プロジェクトの一部としてこれを実行している場合は、新しいテスト グループを作成することをお勧めし:testます:autotest

env.rb ファイルでは、次のようなことができます。

if Rails.env.autotest?
  Capybara.javascript_driver = :webkit
else
  Capybara.javascript_driver = :selenium
end

これは、Rails 3 を実行していることを前提としています。Rails 3 をまだ実行していない場合はRAILS_ENV、現在の環境名を取得するために使用できると思います。

それが設定されたら、環境を使用するように Autotest を変更するだけ:autotestです。

于 2013-07-12T17:06:24.167 に答える