Невозможно запустить IE 11 при запуске селен с IEDriverServer 3.9.0.0 - PullRequest
0 голосов
/ 07 июня 2018

У меня проблемы с запуском IE 11 при запуске тестов на селен.Вот код, который я использую для настройки моего браузера

 if (browser.equalsIgnoreCase("ie")) {
        System.setProperty("webdriver.ie.driver",  "IEDriverServer.exe");
        driver = new InternetExplorerDriver();
    } else {
        throw new Exception("Browser is not correct");
    }
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.get("https://www.google.com/");
    Dimension dimension = new Dimension(800,600);
    driver.manage().window().setSize(dimension);
}

Я пробовал другие решения, основанные на этой теме, но все еще не повезло. Ссылка на стек .Могу ли я использовать какие-либо решения?

Среда:Селен версия: 3.12.0Версия IEDriverServer: 3.9.0.0Версия IE: 11.0.65

Вывод на консоль:

 Started InternetExplorerDriver server (64-bit)
 3.9.0.0
 Listening on port 10696
 Only local connections are allowed

трассировка стека:

  org.openqa.selenium.WebDriverException: java.net.SocketException: 
  Connection reset
  Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-      08T14:04:26.12Z'
  System info: host: 'DESKTOP7', ip: '', os.name: '      Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_171'
  Driver info: driver.version: InternetExplorerDriver
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:92)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)
at org.openqa.selenium.ie.InternetExplorerDriver.run(InternetExplorerDriver.java:223)
at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:215)
at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:152)
at com.dlp.tests.TestCases.Basic_Template.setup(Basic_Template.java:37)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at       java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at       java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
  Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at okio.Okio$2.read(Okio.java:139)
at okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
at okio.RealBufferedSource.indexOf(RealBufferedSource.java:345)
at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:217)
at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:212)
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
at okhttp3.RealCall.execute(RealCall.java:77)
at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:105)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)

1 Ответ

0 голосов
/ 07 июня 2018

Это сообщение об ошибке ...

org.openqa.selenium.WebDriverException: java.net.SocketException: Connection reset

... подразумевает, что IEDriverServer не смог инициировать / порождать новый сеанс WebBrowsing , т.е. InternetExplorer Browser сеанс.

Ваша главная проблема - несовместимость между используемой вами версией двоичных файлов:

  • Ваш Selenium Client версия 3.12.0 из 2018-05-08T14: 04: 26.12Z , что почти на год старше.
  • Ваш InternetExplorerDriver версия 3.9.0.0 .

Таким образом, существует явное несоответствие между Selenium Client v3.12.0 и InternetExplorerDriver v3.9.0.0 .Согласно рекомендациям для Selenium Client и InternetExplorerDriver выпущены синхронно, вы должны использовать оба двоичных файла из того же основного выпуска .


Далее Сервер InternetExplorerDriver v3.9.0.0 имел известную проблему по следующим ссылкам:

Эта проблема была решена с помощью следующей фиксации:

Решение

  • Обновление IEDriverServer до текущей IEDriverServer v3.12.0 level.
  • Clean your Project Workspace через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • Используйте CCleaner инструмент длястереть все дела ОС до и после выполнения test Suite .
  • Выполнить перезагрузку системы .
  • Выполнить @Test.
  • Всегда вызывайте driver.quit() в методе tearDown(){} для закрытия и уничтожения WebDriver и Веб-клиента экземпляров изящно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...