2013-06-05 45 views
9

tôi không thể chạy thử nghiệm của mình trong trình duyệt chrome.i đang sử dụng selenium-java 2.33.0 và java để mã hóa.Sự cố khi tải trình duyệt Chrome bằng trình điều khiển web selenium

Dưới đây là các bước

System.setProperty("webdriver.chrome.driver", "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"); 
WebDriver driver = new ChromeDriver(); 
driver.get("http://www.google.com"); 

nó sẽ mở trình duyệt chrome và ném các lỗi sau.

Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException:  Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. 
Build info: version: '2.32.0', revision: '6c40c187d01409a5dc3b7f8251859150c8af0bcb', time: '2013-04-09 10:39:28' 
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.4', java.version: '1.6.0_35' 
Driver info: driver.version: ChromeDriver 
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548) 
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216) 
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:111) 
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:115) 
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:161) 
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:107) 
at com.integration.RandomID.main(RandomID.java:14) 
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start. 
Build info: version: '2.32.0', revision: '6c40c187d01409a5dc3b7f8251859150c8af0bcb', time: '2013-04-09 10:39:28' 
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.4', java.version: '1.6.0_35' 
Driver info: driver.version: ChromeDriver 
at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:165) 
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:62) 
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:527) 
... 6 more 
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:17036/status] to be available after 20018 ms 
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:104) 
at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:163) 
... 8 more 
Caused by: com.google.common.util.concurrent.UncheckedTimeoutException: java.util.concurrent.TimeoutException 
at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:143) 
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:79) 
... 9 more 
Caused by: java.util.concurrent.TimeoutException 
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:228) 
at java.util.concurrent.FutureTask.get(FutureTask.java:91) 
at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:130) 
... 10 more 

Tôi đang gặp sự cố ở đâu?

Cảm ơn, Manoj

+0

Nó chỉ ra rằng trình điều khiển không thể đạt được liên kết 'http: // localhost: 17036/status', nó có thể là do cổng, hệ điều hành có thể đã sử dụng cổng đã cho một số mục đích khác. Thử khởi động lại máy của bạn. –

+0

@SajanChandran tôi cũng đã thử khởi động lại máy của mình nhưng không tìm thấy may mắn: ( – user2649233

+0

Bạn cần tải xuống trình điều khiển Chrome https://code.google.com/p/chromedriver/downloads/list Và chỉ định nó cho webdriver.chrome của bạn .driver var – art1go

Trả lời

22

Không sử dụng hệ nhị phân Chrome của bạn mà bạn duyệt internet với. Tải xuống từ số Chromedriver website và chỉ định đường dẫn đến mã đó trong mã của bạn.

Liên kết này có giải pháp giải thích chi tiết hơn: http://www.gjdb.nl/?p=214:

Khi bạn muốn chạy Chrome trên WebDriver cho máy Mac của bạn, sau đó theo theo trang web http://code.google.com/p/selenium/wiki/ChromeDriver bạn sẽ cần phải chỉ định đường dẫn đến trình duyệt đến vị trí sau: “/ Applications/Google \ Chrome.app/Contents/MacOS/Google \ Chrome”.

Vì vậy, các mã Java để tạo một trường hợp ChromeDriver sẽ là:

System.setProperty("webdriver.chrome.driver", "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"); 
driver = new ChromeDriver(); 

Khi cố gắng chạy này, tôi có ngoại lệ sau.

org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. 
Build info: version: '2.31.0', revision: '1bd294d185a80fa4206dfeab80ba773c04ac33c0', time: '2013-02-27 13:51:26' 
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.8.3', java.version: '1.6.0_45' 
Driver info: driver.version: ChromeDriver 
... 

Điều này tôi đã khắc phục bằng cách sử dụng ChromeDriver. Tải về phiên bản của bạn trên http://code.google.com/p/chromedriver/downloads/list, giải nén nó và sử dụng nó như sau:

System.setProperty("webdriver.chrome.driver", "<unzip location>/chromedriver"); 
driver = new ChromeDriver(); 
+0

Cảm ơn. hoạt động của nó ngay bây giờ :) – user2649233

+2

Lưu ý rằng bạn vẫn cần cài đặt Chrome trên máy của mình. Trình điều khiển chỉ là một trình bao bọc. –

0

Tìm kiếm chrome.exe trong tìm kiếm bắt đầu của bạn, sao chép các tập tin vị trí & cho nó trong url:

System.setProperty("webdriver.chrome.driver", ".....AppData/Local/Google/Chrome/Application/chrome.exe"); 
WebDriver wcr = new ChromeDriver(); 
+0

OP trên Mac OS X không có trên Windows – Daishi

Các vấn đề liên quan