2014-01-07 8 views
1

Я использую selenium-standalone-server-2.39 как RemoteWebDriver [сервер работает на другой машине] с firefox 26 на windows 7. Выполнение теста работает нормально, но когда код пытается закрыть или выйти из драйвера/браузера во время смены пакета, тогда он дает UnreachableBrowserException. Хотя если я использую webdriver локально [сервер работает на одном компьютере], он работает отлично.Selenium RemoteWebDriver 2.39 с firefox 26

У меня уже есть с другой версией webdriver 2.36.2.37,2.38 с ff 26, но такое же исключение приходит каждый раз.

Если кто-то поможет мне решить эту проблему, это будет очень полезно.

какая комбинация селена webdriver и firefox работает отлично?

EDIT: Это простой кусок кода я пытаюсь RUN-

public static void main(String s[]) throws Exception { 
     URL url = new URL("http", ip, 4444, "/wd/hub"); 
     FirefoxProfile pf = new FirefoxProfile(new File("D:\\ffprofile")); 
     DesiredCapabilities capabilities =DesiredCapabilities.firefox(); 
     capabilities.setCapability(FirefoxDriver.PROFILE, pf); 
     System.out.println("1"); 
     capabilities.setJavascriptEnabled(true); 
     System.out.println("2"); 
     WebDriver driver = new RemoteWebDriver(url,capabilities); 
     System.out.println("4"); 
     driver.get("http://www.google.com"); 
     driver.close(); 
    } 

Исключение:

Jan 07, 2014 1:10:32 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute 
    INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset 
    Jan 07, 2014 1:10:32 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute 
    INFO: Retrying request 
Jan 07, 2014 1:10:51 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute 
INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset 
Jan 07, 2014 1:10:51 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute 
INFO: Retrying request 
Jan 07, 2014 1:11:10 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute 
INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset 
Jan 07, 2014 1:11:10 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute 
INFO: Retrying request 
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died. 
Build info: version: '2.38.0', revision: 'bd32d4e', time: '2013-12-05 16:15:38' 
System info: host: 'symc-w7-12281', ip: '10.88.155.166', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_25' 
Driver info: driver.version: RemoteWebDriver 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:569) 
    at org.openqa.selenium.remote.RemoteWebDriver.close(RemoteWebDriver.java:418) 
    at SeleniumTest.main(SeleniumTest.java:30) 
Caused by: java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(Unknown Source) 
    at java.net.SocketInputStream.read(Unknown Source) 
    at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:160) 
    at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:84) 
    at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:273) 
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140) 
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) 
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:260) 
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:283) 
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:251) 
    at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:223) 
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:271) 
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123) 
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:682) 
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:486) 
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) 
    at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:319) 
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:298) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:527) 
    ... 3 more 
+0

Все сочетания браузера и драйвера отлично работают. Единственный раз, когда возникают проблемы, - если вы используете двоичные драйверы Chrome или IE, а версия вашего браузера слишком полезна для обращения к двоичному драйверу, и даже тогда ошибки не являются общими. Вы должны делать что-то необычное. Вы должны написать более подробную информацию. – djangofan

+0

@djangofan Я обновил вопрос с кодом и исключением. – avinesh

ответ

0

Я хотел бы попробовать понижая свою версию Firefox

1

Попробуйте закомментировать эта строка в вашем коде:

capabilities.setCapability(FirefoxDriver.PROFILE, pf); 

Вместо указания профиля, который вы хотите использовать в своей сетке, просто настройте профиль в конфигурации сетки в явном виде или не укажете профиль вообще, чтобы Firefox просто использовал профиль по умолчанию.

Если вы посмотрите примечания к выпуску Selenium 2.41.0 (https://selenium.googlecode.com/git/java/CHANGELOG), вы заметите, что Firefox 26 больше не поддерживается. Он был поддержан в 2.39, но вы можете использовать примечания к выпуску, чтобы убедиться, что используете правильную версию. Фактически, Selenium 2.44.0 поддерживает только Firefox 24, 31, 32 и 33.

+0

это помогло мне! решила мою проблему! но почему?? Это ошибка селена? он работал очень хорошо, не знаю, почему настройка Profile больше не работает –

+0

, хотя я не понимаю, как решена моя проблема! но спасибо –

Смежные вопросы