org.openqa.selenium.WebDriverException: chrome недоступно при запуске Chrome 80 в Ubuntu 18.04 - PullRequest
0 голосов
/ 28 марта 2020

У меня Ubuntu 18.04, у которого chrome с версией 80.0.3987.87, и я пытаюсь запустить на нем тесты Selenium с различными следующими chromedriver версиями

  1. 79.0.3945.36
  2. 80.0.3987.16
  3. 80.0.3987.106

, но это приводит к ошибке -

    [testng] WARNING: WebDriverException thrown by findElement(By.id: j_username)
   [testng] org.openqa.selenium.WebDriverException: chrome not reachable
   [testng]   (Session info: chrome=80.0.3987.87)
   [testng]   (Driver info: chromedriver=79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614}),platform=Linux 4.15.0-74-generic x86_64) (WARNING: The server did not provide any stacktrace information)
   [testng] Command duration or timeout: 0 milliseconds
   [testng] Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
   [testng] Driver info: org.openqa.selenium.chrome.ChromeDriver
   [testng] Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 79.0.3945.36 (3582db32b3389..., userDataDir: /tmp/.com.google.Chrome.pFnA2S}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:41391}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 80.0.3987.87, webStorageEnabled: true}
   [testng] Session ID: 215e1bff4f63437dbf8a0b8f0570c41b
   [testng] *** Element info: {Using=id, value=j_username}
   [testng]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   [testng]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
   [testng]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   [testng]     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
   [testng]     at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
   [testng]     at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
   [testng]     at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
   [testng]     at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
   [testng]     at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
   [testng]     at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
   [testng]     at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
   [testng]     at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
   [testng]     at org.openqa.selenium.remote.RemoteWebDriver.findElements(RemoteWebDriver.java:349)
   [testng]     at org.openqa.selenium.remote.RemoteWebDriver.findElementsById(RemoteWebDriver.java:372)
   [testng]     at org.openqa.selenium.By$ById.findElements(By.java:180)
   [testng]     at org.openqa.selenium.remote.RemoteWebDriver.findElements(RemoteWebDriver.java:310)
   [testng]     at org.openqa.selenium.support.ui.ExpectedConditions.findElement(ExpectedConditions.java:895)
   [testng]     at org.openqa.selenium.support.ui.ExpectedConditions.access$000(ExpectedConditions.java:44)
   [testng]     at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:206)
   [testng]     at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:202)
   [testng]     at org.openqa.selenium.support.ui.ExpectedConditions$22.apply(ExpectedConditions.java:657)
   [testng]     at org.openqa.selenium.support.ui.ExpectedConditions$22.apply(ExpectedConditions.java:654)
   [testng]     at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:260)
   [testng]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [testng]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   [testng]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [testng]     at java.lang.reflect.Method.invoke(Method.java:498)
   [testng]     at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
   [testng]     at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
   [testng]     at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
   [testng]     at org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:71)
   [testng]     at org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:14)
   [testng]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
   [testng]     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
   [testng]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
   [testng]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
   [testng]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
   [testng]     at java.lang.Thread.run(Thread.java:745)

Если я пытаюсь запустить это с последней версией chromedriver ie 81.0.4044.20 выдает следующую ожидаемую ошибку -

org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 81

Но, что удивительно, это не работает с версией chromedriver 80. Я не мог найти соответствующую проблему на github Selenium. Пожалуйста, объясните мне это.

** Дополнительная информация: ** Воспроизводится только тогда, когда мы запускаем тесты через конвейер Jenkins вместе с Xvfb. Если мы запустим такой же тест с машины, он пройдет успешно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...