0

私は、Javaセレンテストを実行するために使用するテストボックス(Windows 7 64ビット)でselenium-server-standalone-2.17.0(IEおよびFirefox用)およびChromeDriver 18.0.1022.0(スタンドアロン)を実行しています。

何らかの理由で、ChromeDriverに対してテストを実行すると、予期しないアラートボックスが初めて発生すると、完全にブロックされ、ChromeDriverログに次のように表示されます。

WARNING: Executing: executeScript

ガイドhttp://code.google.com/p/selenium/wiki/ChromeDriverを使用してChromeDriverを構成し、すべてのドライバーのタイムアウトを

webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);

更新: リモートChromeDriverをクリーンな方法で初期化する方法を理解しました

URL url = new URL("http://192.168.1.15:4444/wd/hub"); 
DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
Webdriver chromeDriver = new RemoteWebDriver(url, capabilities); 

これは、子プロセスでchromedriverを実行しているselenium-serverを指すURLで最適に実行されました。次のように起動することで、selenium-serverにChromeDriverを実行させることができます。

java -jar C:\selenium-server.jar -Dwebdriver.chrome.driver=C:\path\to\chromedriver.exe

Chromeが予期しないアラートボックスでスタックするという同じ問題がまだありますが、セレンログからもう少し詳しい情報が得られました:

INFO - Done: /session/1328623219287/element/253/click
INFO - Executing: [execute script: return !!document['readyState'];, []] at URL: /session/1328623219287/execute)

何がこれを引き起こしているのかまだ分かりません...誰か助けてもらえますか?

4

1 に答える 1

1

これは、ChromeDriver を初期化する方法です。

System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, 
"PathToWhereChromeDriverIsAvailable"); 
ChromeDriverService service = ChromeDriverService.createDefaultService(); 
ChromeOptions options = new ChromeOptions(); 
options.addArguments("--start-maximized"); 
ChromeDriver cd = new ChromeDriver(service, options);

Alert()私は単純な推測を持っています-おそらくスクリプトの実行中にたむろします-基本的に、ページがロードされるのを待っているのではなく、スクリプトの実行が終了するのを待っています。しかし、私はこれに対する解決策を持っていません...

于 2012-02-06T18:51:22.447 に答える