2015-09-05 70 views
1

我試圖使用Opera(版本31)來運行我的Java Selenium測試。我使用的是Selenium Webdriver的最新版本(2.47.1)和OperaChromiumDriver(0.2.2)的最新版本。
我試圖用一個方法來實例化歌劇:Selenium Webdriver - Opera - 無法接收來自渲染器的消息

System.setProperty("webdriver.chrome.driver", "\\path\\to\\my\\operadriver.exe"); 
WebDriver driver = new ChromeDriver(); 

,我已經試圖與RemoteWebdriver另一種方法:

DesiredCapabilities capabilities = DesiredCapabilities.opera(); 
ChromeOptions options = new ChromeOptions(); 
options.setBinary("/path/to/opera"); 
capabilities.setCapability(ChromeOptions.CAPABILITY, options); 
WebDriver driver = new RemoteWebDriver(new URL("http://127.0.0.1:9515"),capabilities); 

(這些方法在答案中描述了這樣一個問題:How to use OperaChromiumDriver for opera version >12.X

兩種方法都有同樣的問題。 歌劇打開,但隨後擊碎旁邊例外:

org.openqa.selenium.SessionNotCreatedException: session not created exception from disconnected: Unable to receive message from renderer 
(Session info: Opera with embedded Chromium 0.1889.230) 
(Driver info: OperaDriver=0.2.0 (ba47709ed9e35ce26dbd960fb5d75be104290d96),platform=Windows NT 6.1 x86_64 
(WARNING: The server did not provide any stacktrace information) 

火狐,Chrome和IE司機工作,因爲它應該是,我只有用OperaChromiumDriver這樣的問題。
任何人都可以幫助我解決這個問題嗎?

回答

1

嘗試實例OperaDriver這樣,而不是:

File operaFile = new File("\\path\\to\\my\\operadriver.exe"); 
System.setProperty("webdriver.opera.driver", operaFile.getAbsolutePath()); 
WebDriver driver = new OperaDriver(); 

在我的應用程序,.getAbsolutePath()的作品,但只在指定的.setProperty路徑不。不知道爲什麼,因爲兩者的字符串輸出是相同的。

不幸的是,我在我的測試中仍然無法使用OperaDriver,因爲它在加載幾頁後變得沒有響應。這發生在3臺不同的機器上運行不同版本的Windows,並只返回此錯誤:

[SEVERE]: Timed out receiving message from renderer: 

FirefoxDriver,ChromeDriver和InternetExplorerDriver都做工精細用我的測試,所以,不管。

+0

謝謝你的答案 - 終於有效。 – Lickut

相關問題