org.openqa.selenium.NoSuchSessionException: нет такой ошибки сеанса в тестах автоматизации Selenium с использованием ChromeDriver Chrome с Java - PullRequest
1 голос
/ 31 января 2020

Получение «Нет таких исключений сеанса» при запуске селен в моем конвейере. Я нахожу много решений, связанных с этим, но ни одно не помогло Любая помощь или идея? Трассировка исключений:

org.openqa.selenium.NoSuchSessionException: no such session
  (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 3.10.0-957.21.3.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:25:02.294Z'
System info: host: 'chaos', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.21.3.el7.x86_64', java.version: '1.8.0_121'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.38.552522 (437e6fbedfa876..., userDataDir: /tmp/.org.chromium.Chromium...}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 75.0.3770.100, webStorageEnabled: true}
Session ID: e25db38f6fb8cdaac6d4a699504c608f
    at sun.reflect.GeneratedConstructorAccessor129.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
    at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
    at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
    at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)

Я проверил код; здесь не используется driver.close () или driver.quit (). Иногда тесты выполняются успешно, а иногда и не удается.

Может ли кто-нибудь помочь мне в этой проблеме?

1 Ответ

1 голос
/ 31 января 2020

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

org.openqa.selenium.NoSuchSessionException: no such session
  (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 3.10.0-957.21.3.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:25:02.294Z'
System info: host: 'chaos', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.21.3.el7.x86_64', java.version: '1.8.0_121'
Driver info: org.openqa.selenium.chrome.ChromeDriver

... означает, что ChromeDriver не смог инициировать / порождать новый Контекст просмотра т.е. Chrome Браузер сеанс.

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

  • You используется chromedriver = 2,38
  • Примечания к выпуску chromedriver = 2,38 четко упоминает следующее:

Поддержка Chrome v65-67

  • Предположительно, вы используете chrome = 79.0
  • Примечания к выпуску ChromeDriver v79.0 четко упоминает следующее:

Поддержка Chrome версия 79

  • Ваш Selenium Client версия 3.9.1 из 2018-02-07T22: 25: 02.294Z , что почти 2 лет старше.
  • Ваша JDK версия - это 1.8.0_121 , что довольно древне.

Таким образом, существует явное несоответствие между JDK v8u121 , Selenium Client v3.9.1 , ChromeDriver v2.38 и Chrome Браузер v79.0


Решение

Убедитесь, что:

  • JDK обновлен до текущих уровней JDK 8u232 .
  • Selenium обновлен до текущих уровней Версия 3.141.59 .
  • ChromeDriver обновлен до текущего ChromeDriver v79.0.3945.36 уровень.
  • Chrome обновлен до текущего Chrome Версия 79.0 уровень. (в соответствии с примечаниями к выпуску ChromeDriver v79.0 )
  • Очистить ваше Рабочее пространство проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • Если ваша базовая Веб-клиент версия устарела, удалите ее через Revo Uninstaller и установите последнюю версию GA и выпущенную версию веб-клиента .
  • Выполните перезагрузку системы .
  • Выполните @Test как не- root пользователь.
...