2012-04-30 6 views
1

標準のJava/Spring Webアプリケーションに対する受け入れテストを実行するには、Gherkin、Cucumber-jvm、Webdriverを使用しています。問題は、Mavenジョブを使用してテストを実行すると、テストは完全に成功したが、ジョブは完了しないということです。 Firefoxウィンドウを閉じてもジョブは完了しません。Cucumber/Webdriverを使用した受け入れテストは決して完了しません

各機能の後にブラウザを明示的に閉じるという回避策がありますが、これは時間の遅れによってすぐに持続できなくなります。次のように

ハイテクスタックは次のとおりです。

キュウリ、JVM 1.0.4

セレン2.12.0

のFirefox 8.0

のWindows 7上のJBoss EAP 5.1でアプリを実行機械。

JRubyバージョンのCucumberを使用した場合、この動作は上記のselenium/firefoxの組み合わせでは表示されませんでした。

誰もこの動作を以前に見たことがありますか?誰にも示唆や回避策がありますか?

ありがとうございます。

+0

なぜあなたは「すぐにタイムラグのために持続不可能になる」という意味ですか? ? –

+0

私たちのテストスイート(2000+ステップ)は、1つのFirefoxブラウザインスタンスを使用して、実行には最大40分かかっていました。各フィーチャファイル(タグ付き)またはシナリオのブラウザを閉じる/再オープンするオーバーヘッドを追加することは、これに時間を追加して、変化の速いコードベースで持続不可能なレベルにすることでした。 – TrueDub

+0

パラレルで実行してください[https://github.com/cucumber/cucumber-jvm/issues/86](https://github.com/cucumber/cucumber-jvm/issues/86)。 –

答えて

1

WebDriverを終了しますか?

@cucumber.annotation.After 
public void afterScenarioRun() { 
    driver.close(); 
} 
+0

はい、私はしますが、これを回避しようとしています - ブラウザウィンドウを閉じてから開き直さなければならないオーバーヘッドは、このスイートは、さらに悪化するだけです。 @EndSuiteオプションのような別の解決策があることを期待しています。 – TrueDub

+0

フックを見てください:[https://github.com/cucumber/cucumber/wiki/Hooks](https://github.com/cucumber/cucumber/wiki/Hooks) –

+0

フックに関する私の提案は、 Cucumber-jreは基本的にAfterとBeforeと同じです:cucumber.runtime.java。JavaBackend#addHook –

1

私はキュウリとセレンを春の環境(キュウリのスプリング付き)で使用します。 webdriverをは春で管理されている場合、あなたは豆defintionにdestroy="close"を追加することができます。

<bean id="webDriver" class="org.openqa.selenium.ie.InternetExplorerDriver" destroy-method="close"/> 

これは、すべてのテストが完了した後にブラウザを閉じました。

関連する問題