Ошибка Selenium: «org.openqa.selenium.SessionNotCreatedException: сеанс не создан из вкладки, сбой» после обновления электронного движка до 9.0.3 - PullRequest
0 голосов
/ 19 июня 2020

Пытаюсь сделать автотесты для нашего приложения. Я использую: java + gradle + testNG + selenium + sikulix. Для win 10 и ma c os x. Наше приложение основано на электронном двигателе. Раньше мы использовали электрон 7, и это было нормально, но после обновления версии электронного движка до 9.0.3 мои тесты не прошли с ошибкой:

org.openqa.selenium.SessionNotCreatedException: session not created
from tab crashed

(полная трассировка стека будет ниже)

It похоже, что окно приложения появляется через несколько секунд, и оно вылетает.

Что я пытался сделать, чтобы исправить это:

  • обновить java до openJDK 14;

  • обновить gradle до 6.5;

  • обновить селен до 4.0.0-alpha-6;

  • использовать разные версии веб-драйвера. Официально от google и специально для Electon от зеркала taobao;

  • чистые кеши с помощью Ccleaner, перезагрузка P C, обновление переменных окружения;

  • добавить новые аргументы

     options.addArguments("--no-sandbox");
     options.addArguments("--disable-dev-shm-usage");
    

из обсуждения: неизвестная ошибка: сеанс удален из-за взлома страницы sh из неизвестной ошибки: невозможно определить статус загрузки из вкладки, сбой с ChromeDriver Selenium

Электронный движок 9.0.3 включает Chromium 83.0.4103.99 (https://www.electronjs.org/releases/stable#9 .0.3 )

Официальные версии веб-драйверов, которые я скачал с: https://sites.google.com/a/chromium.org/chromedriver/downloads, и я пробовал все версии из ChromeDriver 83.0.4103.39.

Специальная сборка для электронов, которую я загрузил с: https://npm.taobao.org/mirrors/electron/, и я пробовал все версии из 9.0.2.

Буду очень признателен за помощь. Заранее спасибо.

Полная трассировка стека:

org.openqa.selenium.SessionNotCreatedException: session not created
from tab crashed
  (Session info: chrome=83.0.4103.100)
Build info: version: '4.0.0-alpha-6', revision: '5f43a29cfc'
System info: host: 'Alexeys-MacBook-Pro.local', ip: 'fe80:0:0:0:c21:3e37:9c8:7dd5%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.5', java.version: '14.0.1'
Driver info: driver.version: ChromeDriver
remote stacktrace: 0   chromedriver                        0x000000010e881d09 chromedriver + 4816137
1   chromedriver                        0x000000010e81c463 chromedriver + 4400227
2   chromedriver                        0x000000010e4a7a02 chromedriver + 776706
3   chromedriver                        0x000000010e49bc0b chromedriver + 728075
4   chromedriver                        0x000000010e49b6c6 chromedriver + 726726
5   chromedriver                        0x000000010e49ae23 chromedriver + 724515
6   chromedriver                        0x000000010e49a0af chromedriver + 721071
7   chromedriver                        0x000000010e49a321 chromedriver + 721697
8   chromedriver                        0x000000010e499aa2 chromedriver + 719522
9   chromedriver                        0x000000010e4a0daf chromedriver + 748975
10  chromedriver                        0x000000010e499a4b chromedriver + 719435
11  chromedriver                        0x000000010e49aa09 chromedriver + 723465
12  chromedriver                        0x000000010e49a0af chromedriver + 721071
13  chromedriver                        0x000000010e49a321 chromedriver + 721697
14  chromedriver                        0x000000010e499aa2 chromedriver + 719522
15  chromedriver                        0x000000010e49fce8 chromedriver + 744680
16  chromedriver                        0x000000010e499a4b chromedriver + 719435
17  chromedriver                        0x000000010e49aa09 chromedriver + 723465
18  chromedriver                        0x000000010e49a0af chromedriver + 721071
19  chromedriver                        0x000000010e49a321 chromedriver + 721697
20  chromedriver                        0x000000010e499aa2 chromedriver + 719522
21  chromedriver                        0x000000010e49475e chromedriver + 698206
22  chromedriver                        0x000000010e499a4b chromedriver + 719435
23  chromedriver                        0x000000010e49991d chromedriver + 719133
24  chromedriver                        0x000000010e4a9133 chromedriver + 782643
25  chromedriver                        0x000000010e4305de chromedriver + 288222
26  chromedriver                        0x000000010e42c5e3 chromedriver + 271843
27  chromedriver                        0x000000010e40611d chromedriver + 114973
28  chromedriver                        0x000000010e4070b5 chromedriver + 118965
29  chromedriver                        0x000000010e8442ef chromedriver + 4563695
30  chromedriver                        0x000000010e8515ea chromedriver + 4617706
31  chromedriver                        0x000000010e851379 chromedriver + 4617081
32  chromedriver                        0x000000010e828189 chromedriver + 4448649
33  chromedriver                        0x000000010e851b73 chromedriver + 4619123
34  chromedriver                        0x000000010e839ef3 chromedriver + 4521715
35  chromedriver                        0x000000010e8682c4 chromedriver + 4711108
36  chromedriver                        0x000000010e887dc7 chromedriver + 4840903
37  libsystem_pthread.dylib             0x00007fff716d0109 _pthread_start + 148
38  libsystem_pthread.dylib             0x00007fff716cbb8b thread_start + 15


    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler$0(W3CHandshakeResponse.java:62)
    at org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0(HandshakeResponse.java:30)
    at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$1(ProtocolHandshake.java:126)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
    at java.base/java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
    at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
    at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:75)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:138)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:582)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:136)
    at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:75)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:163)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:150)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:139)
    at tests.BaseTests.getWebDriver(BaseTests.java:35)
    at tests.BaseTests.userLogin(BaseTests.java:45)
    at tests.BaseTests.startMeeting(BaseTests.java:58)
    at tests.BaseTests.shareEntireScreen(BaseTests.java:66)
    at tests.EntireScreenSharingTests.testsName(EntireScreenSharingTests.java:79)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
    at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597)
    at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
    at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
    at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816)
    at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1510)
    at org.testng.TestRunner.privateRun(TestRunner.java:766)
    at org.testng.TestRunner.run(TestRunner.java:587)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
    at org.testng.SuiteRunner.run(SuiteRunner.java:286)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1182)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1109)
    at org.testng.TestNG.runSuites(TestNG.java:1039)
    at org.testng.TestNG.run(TestNG.java:1007)
    at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
    at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:110) 

Это часть моего метода getWebDriver

            ChromeOptions options = new ChromeOptions();
            options.setBinary(PathsAndVariables.toDvcAppDeep);
//            options.addArguments("--no-sandbox");
//            options.addArguments("--disable-dev-shm-usage");
            System.setProperty("webdriver.chrome.driver", PathsAndVariables.toWebDriver);
            driver = new ChromeDriver(options);
            driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

1 Ответ

0 голосов
/ 20 июня 2020

Вы должны использовать правильный chrome exe-драйвер в зависимости от версии chrome браузера. Проверьте версию своего браузера и получите chrome exe-драйвер https://chromedriver.chromium.org/downloads ссылка

...