0

Webベースのキュウリテストが終了しない理由がわかりません。すべてのステップ定義は合格ですが、ブラウザが最後のステップで終了することはないため、スクリプトがハングしています。

私は現在、cuke4duke(0.4.3)、Geb(0.5.1)、maven(2.2.1)、selenium-firefox-driver / selenium-chrome-driver(2.0a6およびa7)を実行しています。

ChromeとFirefox(3.6)/ Windows XPとUbuntuでスクリプトをテストしましたが、成功しませんでした。

これが私のMavenビルドからの出力です

[INFO]   Scenario: Navigate from homepage               # features/helppage.feature:7
[INFO]     Given I am on the homepage                   # Helppage$_run_closure1@f93ee4
[INFO]     When I click on the about page               # Helppage$_run_closure2@1c87031
[INFO]     Then the title should display "About Google" # Helppage$_run_closure3@1f784d7
[INFO] 
[INFO] 1 scenario (1 passed)
[INFO] 3 steps (3 passed)
[INFO] 0m5.421s
HANGING HERE

Env.groovy

import geb.Browser
import org.openqa.selenium.chrome.ChromeDriver;

this.metaClass.mixin(cuke4duke.GroovyDsl)

Before() {
new Browser(new ChromeDriver(),'http://www.google.com')
}

After() {
clearCookies()
}

helppage.groovy

this.metaClass.mixin(cuke4duke.GroovyDsl)

Given (~/I am on the homepage/) {
go('/')
}

When (~/I click on the about page/) {
go('/intl/en/about.html')
}

Then (~/the title should display "(.*)"/) { pageTitle ->
assert title == pageTitle
}

問題がwebdriverにあるのか、cuke4dukeディストリビューションにあるのか、それとも他の場所にあるのかを理解できません。また、何が問題になっているのかを見つけるために、Mavenビルドにデバッグを追加する方法もわかりません。

4

3 に答える 3

1

quit()ブラウザで呼び出す必要があると思います(おそらく、Before()フックにハンドルを保存する必要があります)。

確かにテストする時間はありません - cuke4duke から cucumber-groovy に移行しましたが、実際にはここで表示されている Geb ブラウザの問題だと思います。

于 2012-03-30T11:50:57.380 に答える
0

最新のjRuby(1.6.0)に更新してみてください。この問題に関連している可能性があります:Java + Mavengemの問題を伴うCucumber0.4.3(cuke4duke)

于 2011-07-23T07:30:56.367 に答える
0

cuke4dukeなしで実行してみましたか?

cuke4duke は非常に興味深いと思いましたが、JRuby を使用していないかどうかはわかりませんが、JRuby を削除して、より高速で信頼性の高い単純な Ruby インストールを使用することにしました。

于 2011-05-05T06:26:14.700 に答える