2012-02-06 105 views
0

後不會失敗我在測試盒(Windows 7 64位)上運行硒服務器獨立2.17.0(用於IE和Firefox)和ChromeDriver 18.0.1022.0(獨立)我用於針對運行Java Selenium測試。ChromeDriver塊,並在意外警報框

出於某種原因,對ChromeDriver,它遇到意想不到的警告框第一次運行時,我的測試中,它的塊idefinitely和ChromeDriver日誌

WARNING: Executing: executeScript 

我配置ChromeDriver使用指南http://code.google.com/p/selenium/wiki/ChromeDriver並設置說所有驅動程序暫停時以

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

更新: 我想出如何初始化遠程ChromeDriver在CLEA ñ方式與

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

這個最好跑的URL指向一個子進程中運行chromedriver硒服務器。你可以使硒的服務器通過啓動像這樣運行ChromeDriver:

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

我仍然有瀏覽器卡住在意想不到的警告框同樣的問題,但硒日誌給我的一點信息:

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

還是不知道是什麼原因造成這個...任何人都可以幫忙嗎?

回答

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()我剛纔簡單的猜測 - 也許它掛出來,而執行腳本 - 所以基本上你是不是在等待頁面加載,但對於腳本結束執行。然而,我沒有解決這個...

+0

感謝您的信息,我會盡力回報 – Svante 2012-02-07 10:21:37

+0

我真的不明白這個「PathToWhereChromeDriverIsAvailable」。我在遠程機器上運行ChromeDriver和Chrome瀏覽器,因此我只需要一個java對象來將selenium/webdriver命令中繼到ChromeDriver正在偵聽的「192.168.1.15:9515」(例如)。如果不得不在遠程計算機上提供Chrome瀏覽器的路徑,並且無關緊要,因爲遠程ChromeDriver服務器已經知道在哪裏可以找到Chrome瀏覽器。例如, – Svante 2012-02-07 10:51:47

+0

。我的程序'chromedriver.exe'存儲在D:\ _ dev \ selenium \ chromedriver.exe中,所以在我的情況下,我用''D:\ _ dev \ selenium \ chromedriver.exe「' – 2012-02-07 10:56:59