0

geb.driverオプションとgeb.envの違いを見つけようとしています。

それらに関する具体的な文書は見つかりませんでした。geb envがGebConfig.groovyで定義されていることを除いて、geb.envはgrails.envに似ていることを理解できました。

では、なぜgeb.driverが必要なのですか。さらに紛らわしいのは、geb.driverを指定すると機能テストケースが正常に機能しているのに、geb.envを使用するとエラーが発生することです。

Cannot find window: _PPIdentityWindow_ 
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 22:18:01' 
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.5', java.version: '1.6.0_35' 
Driver info: driver.version: unknown 
org.openqa.selenium.NoSuchWindowException: Cannot find window: _PPIdentityWindow_ 
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 22:18:01' 
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.5', java.version: '1.6.0_35' 
Driver info: driver.version: unknown 
        at org.openqa.selenium.htmlunit.HtmlUnitDriver$HtmlUnitTargetLocator.window(HtmlUnitDriver.java:943) 
        at geb.Browser.switchToWindow(Browser.groovy:458) 
        at geb.Browser.withWindow(Browser.groovy:470) 
        at geb.spock.GebSpec.methodMissing(GebSpec.groovy:51) 

どんな助けでも大いに感謝されます。grailsユーザーのメーリングリストでも同じ質問をしました。

http://grails.1312388.n4.nabble.com/Difference-between-geb-driver-and-geb-env-td4637641.html

4

1 に答える 1

1

ドキュメントに関しては、geb.driver はここに、geb.env はここに記述されています

違いは、geb.driver では使用するドライバーのみを指定できるのに対し、geb.env では使用する環境を指定してから、環境固有の構成 (つまり、ベース URL、待機、レポート dir、およびご希望の方はドライバーまで。

スタックトレースは、Firefox ドライバーではなく、HtmlUnit ドライバーに関係しているようです。リストへのメールで、HtmlUnit ドライバーをデフォルトとして指定し、geb.env=firefox を使用し、GebConfig.groovy にその環境の構成があるにもかかわらず、何らかの理由で firefox ドライバーが選択されなかったことがわかります。 . 私が考えることができる3つの理由は次のとおりです。

  • BuildConfig.groovy で firefox ドライバー jar への依存関係を指定していません。
  • GebConfig.groovy に FirefoxDriver クラスをインポートするのを忘れた
  • コマンドの間違った場所に geb.env プロパティを指定しました - grails の直後に指定する必要があります (つまり、grails -Denv.geb=firefox test Functional:)。そうしないと、取得されません。

将来、Geb 固有の質問がある場合は、Grails メーリング リストではなくGeb メーリング リストに投稿することを検討してください。そこで回答が得られる可能性が高くなります。

于 2012-12-08T00:30:51.443 に答える