Проблема заключается в данной ошибке [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
Я попытался проапдейтить версии зависимостей в pom - не помогло. Поменял версию java, тоже не помогло. Откатился на более ранние версии - тоже не помогло. Менял кол-во потоков - тоже не помогло. Не понимаю в какую строну смотреть. Погуглил и не нашел никакого решения данной проблемы. Воспроизводится при каждом прогоне джобы - поток зависает, через 15 мин фейлится тест по таймауту. Настройки запуска параллельных тестов не менял. Проблема появилась внезаптно.
Локально данная проблема тоже стала воспроизводиться.
Логи с Jenkins
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:33 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 646 - nothing to close
07:24:59 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 1313 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:25:31 [Dead threads watchdog] INFO com.codeborne.selenide.impl.DeadThreadsWatchdog - No webdriver found for thread: 33 - nothing to close
07:26:27 [ForkJoinPool-1-worker-5] WARN com.codeborne.selenide.impl.WebPageSourceExtractor - Failed to save page source to 1707193405776.0
07:26:27 org.openqa.selenium.TimeoutException: java.util.concurrent.TimeoutException
07:26:27 Build info: version: '4.17.0', revision: 'e52b1be057*'
07:26:27 System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.0-17-amd64', java.version: '19.0.2'
07:26:27 Driver info: org.openqa.selenium.chrome.ChromeDriver
07:26:27 Command: [6be42a6f34fcea4c3ad273d84a703d13, getPageSource {}]
07:26:27 Capabilities {acceptInsecureCerts: true, browserName: chrome, browserVersion: 121.0.6167.85, chrome: {chromedriverVersion: 121.0.6167.85 (3f98d690ad7e..., userDataDir: /tmp/.org.chromium.Chromium...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:38083}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://localhost:38083/devtoo..., se:cdpVersion: 121.0.6167.85, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: accept, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
07:26:27 Session ID: 6be42a6f34fcea4c3ad273d84a703d13
07:26:27 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute0(JdkHttpClient.java:402)
07:26:27 at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
07:26:27 at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:55)
07:26:27 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:358)
07:26:27 at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:187)
07:26:27 at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:216)
07:26:27 at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:174)
07:26:27 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:519)
07:26:27 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:592)
07:26:27 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:596)
07:26:27 at org.openqa.selenium.remote.RemoteWebDriver.getPageSource(RemoteWebDriver.java:382)
07:26:27 at com.codeborne.selenide.impl.WebPageSourceExtractor.extract(WebPageSourceExtractor.java:37)
07:26:27 at com.codeborne.selenide.impl.WebPageSourceExtractor.extract(WebPageSourceExtractor.java:31)
07:26:27 at com.codeborne.selenide.impl.ScreenShotLaboratory.savePageSourceToFile(ScreenShotLaboratory.java:312)
07:26:27 at com.codeborne.selenide.impl.ScreenShotLaboratory.takeScreenShot(ScreenShotLaboratory.java:133)
07:26:27 at com.codeborne.selenide.impl.ScreenShotLaboratory.lambda$takeScreenshot$15(ScreenShotLaboratory.java:440)
07:26:27 at com.codeborne.selenide.impl.ScreenShotLaboratory.ifReportsFolderNotNull(ScreenShotLaboratory.java:530)
07:26:27 at com.codeborne.selenide.impl.ScreenShotLaboratory.lambda$takeScreenshot$16(ScreenShotLaboratory.java:439)
07:26:27 at com.codeborne.selenide.impl.ScreenShotLaboratory.ifWebDriverStarted(ScreenShotLaboratory.java:520)
07:26:27 at com.codeborne.selenide.impl.ScreenShotLaboratory.takeScreenshot(ScreenShotLaboratory.java:438)
07:26:27 at com.codeborne.selenide.ex.UIAssertionError.wrapThrowable(UIAssertionError.java:123)
07:26:27 at com.codeborne.selenide.ex.UIAssertionError.wrap(UIAssertionError.java:108)
07:26:27 at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:94)
07:26:27 at jdk.proxy2/jdk.proxy2.$Proxy27.getText(Unknown Source)
07:26:27 at interfaces.Report.tblOdometerCheck(Report.java:83)
07:26:27 at vingurus.PrecheckPageTest.crashRecordsInReport(PrecheckPageTest.java:74)
07:26:27 at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
07:26:27 at java.base/java.lang.reflect.Method.invoke(Method.java:578)
07:26:27 at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
07:26:27 at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
07:26:27 at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
07:26:27 at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
07:26:27 at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
07:26:27 at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
07:26:27 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
07:26:27 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
07:26:27 at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
07:26:27 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
07:26:27 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
07:26:27 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
07:26:27 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
07:26:27 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
07:26:27 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218)
07:26:27 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:26:27 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214)
07:26:27 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139)
07:26:27 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
07:26:27 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
07:26:27 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:26:27 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
07:26:27 at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
07:26:27 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
07:26:27 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:26:27 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
07:26:27 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
07:26:27 at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202)
07:26:27 at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
07:26:27 at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
07:26:27 at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1311)
07:26:27 at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1841)
07:26:27 at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1806)
07:26:27 at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
07:26:27 Caused by: java.util.concurrent.TimeoutException
07:26:27 at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
07:26:27 at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
07:26:27 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute0(JdkHttpClient.java:385)
07:26:27 ... 61 more
07:29:34 [ForkJoinPool-1-worker-5] ERROR com.codeborne.selenide.impl.ScreenShotLaboratory - Failed to take screenshot to 1707193405776.0
07:29:34 org.openqa.selenium.TimeoutException: java.util.concurrent.TimeoutException
07:29:34 Build info: version: '4.17.0', revision: 'e52b1be057*'
07:29:34 System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.0-17-amd64', java.version: '19.0.2'
07:29:34 Driver info: org.openqa.selenium.chrome.ChromeDriver
07:29:34 Command: [6be42a6f34fcea4c3ad273d84a703d13, screenshot {}]
07:29:34 Capabilities {acceptInsecureCerts: true, browserName: chrome, browserVersion: 121.0.6167.85, chrome: {chromedriverVersion: 121.0.6167.85 (3f98d690ad7e..., userDataDir: /tmp/.org.chromium.Chromium...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:38083}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://localhost:38083/devtoo..., se:cdpVersion: 121.0.6167.85, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: accept, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
07:29:34 Session ID: 6be42a6f34fcea4c3ad273d84a703d13
07:29:34 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute0(JdkHttpClient.java:402)
07:29:34 at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
07:29:34 at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:55)
07:29:34 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:358)
07:29:34 at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:187)
07:29:34 at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:216)
07:29:34 at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:174)
07:29:34 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:519)
07:29:34 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:592)
07:29:34 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:596)
07:29:34 at org.openqa.selenium.remote.RemoteWebDriver.getScreenshotAs(RemoteWebDriver.java:322)
07:29:34 at com.codeborne.selenide.impl.WebdriverPhotographer.takeScreenshot(WebdriverPhotographer.java:19)
07:29:34 at com.codeborne.selenide.impl.ScreenShotLaboratory.savePageImageToFile(ScreenShotLaboratory.java:285)
07:29:34 at com.codeborne.selenide.impl.ScreenShotLaboratory.takeScreenShot(ScreenShotLaboratory.java:134)
07:29:34 at com.codeborne.selenide.impl.ScreenShotLaboratory.lambda$takeScreenshot$15(ScreenShotLaboratory.java:440)
07:29:34 at com.codeborne.selenide.impl.ScreenShotLaboratory.ifReportsFolderNotNull(ScreenShotLaboratory.java:530)
07:29:34 at com.codeborne.selenide.impl.ScreenShotLaboratory.lambda$takeScreenshot$16(ScreenShotLaboratory.java:439)
07:29:34 at com.codeborne.selenide.impl.ScreenShotLaboratory.ifWebDriverStarted(ScreenShotLaboratory.java:520)
07:29:34 at com.codeborne.selenide.impl.ScreenShotLaboratory.takeScreenshot(ScreenShotLaboratory.java:438)
07:29:34 at com.codeborne.selenide.ex.UIAssertionError.wrapThrowable(UIAssertionError.java:123)
07:29:34 at com.codeborne.selenide.ex.UIAssertionError.wrap(UIAssertionError.java:108)
07:29:34 at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:94)
07:29:34 at jdk.proxy2/jdk.proxy2.$Proxy27.getText(Unknown Source)
07:29:34 at interfaces.Report.tblOdometerCheck(Report.java:83)
07:29:34 at vingurus.PrecheckPageTest.crashRecordsInReport(PrecheckPageTest.java:74)
07:29:34 at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
07:29:34 at java.base/java.lang.reflect.Method.invoke(Method.java:578)
07:29:34 at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
07:29:34 at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
07:29:34 at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
07:29:34 at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
07:29:34 at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
07:29:34 at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
07:29:34 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
07:29:34 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
07:29:34 at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
07:29:34 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
07:29:34 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
07:29:34 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
07:29:34 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
07:29:34 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
07:29:34 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218)
07:29:34 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:29:34 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214)
07:29:34 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139)
07:29:34 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
07:29:34 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
07:29:34 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:29:34 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
07:29:34 at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
07:29:34 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
07:29:34 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:29:34 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
07:29:34 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
07:29:34 at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202)
07:29:34 at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
07:29:34 at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
07:29:34 at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1311)
07:29:34 at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1841)
07:29:34 at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1806)
07:29:34 at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
07:29:34 Caused by: java.util.concurrent.TimeoutException
07:29:34 at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
07:29:34 at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
07:29:34 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute0(JdkHttpClient.java:385)
07:29:34 ... 60 more
07:32:25 [ForkJoinPool-1-worker-5] WARN io.qameta.allure.selenide.AllureSelenide - Could not get screen shot
07:32:25 org.openqa.selenium.TimeoutException: java.util.concurrent.TimeoutException
07:32:25 Build info: version: '4.17.0', revision: 'e52b1be057*'
07:32:25 System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.0-17-amd64', java.version: '19.0.2'
07:32:25 Driver info: org.openqa.selenium.chrome.ChromeDriver
07:32:25 Command: [6be42a6f34fcea4c3ad273d84a703d13, screenshot {}]
07:32:25 Capabilities {acceptInsecureCerts: true, browserName: chrome, browserVersion: 121.0.6167.85, chrome: {chromedriverVersion: 121.0.6167.85 (3f98d690ad7e..., userDataDir: /tmp/.org.chromium.Chromium...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:38083}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://localhost:38083/devtoo..., se:cdpVersion: 121.0.6167.85, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: accept, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
07:32:25 Session ID: 6be42a6f34fcea4c3ad273d84a703d13
07:32:25 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute0(JdkHttpClient.java:402)
07:32:25 at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
07:32:25 at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:55)
07:32:25 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:358)
07:32:25 at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:187)
07:32:25 at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:216)
07:32:25 at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:174)
07:32:25 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:519)
07:32:25 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:592)
07:32:25 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:596)
07:32:25 at org.openqa.selenium.remote.RemoteWebDriver.getScreenshotAs(RemoteWebDriver.java:322)
07:32:25 at io.qameta.allure.selenide.AllureSelenide.getScreenshotBytes(AllureSelenide.java:96)
07:32:25 at io.qameta.allure.selenide.AllureSelenide.lambda$afterEvent$4(AllureSelenide.java:134)
07:32:25 at java.base/java.util.Optional.ifPresent(Optional.java:178)
07:32:25 at io.qameta.allure.selenide.AllureSelenide.afterEvent(AllureSelenide.java:132)
07:32:25 at com.codeborne.selenide.logevents.SelenideLogger.commitStep(SelenideLogger.java:95)
07:32:25 at com.codeborne.selenide.logevents.SelenideLogger.commitStep(SelenideLogger.java:86)
07:32:25 at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:95)
07:32:25 at jdk.proxy2/jdk.proxy2.$Proxy27.getText(Unknown Source)
07:32:25 at interfaces.Report.tblOdometerCheck(Report.java:83)
07:32:25 at vingurus.PrecheckPageTest.crashRecordsInReport(PrecheckPageTest.java:74)
07:32:25 at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
07:32:25 at java.base/java.lang.reflect.Method.invoke(Method.java:578)
07:32:25 at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
07:32:25 at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
07:32:25 at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
07:32:25 at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
07:32:25 at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
07:32:25 at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
07:32:25 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
07:32:25 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
07:32:25 at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
07:32:25 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
07:32:25 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
07:32:25 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
07:32:25 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
07:32:25 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
07:32:25 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218)
07:32:25 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:32:25 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214)
07:32:25 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139)
07:32:25 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
07:32:25 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
07:32:25 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:32:25 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
07:32:25 at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
07:32:25 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
07:32:25 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:32:25 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
07:32:25 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
07:32:25 at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202)
07:32:25 at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
07:32:25 at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
07:32:25 at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1311)
07:32:25 at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1841)
07:32:25 at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1806)
07:32:25 at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
07:32:25 Caused by: java.util.concurrent.TimeoutException
07:32:25 at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
07:32:25 at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
07:32:25 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute0(JdkHttpClient.java:385)
07:32:25 ... 56 more
07:35:32 [ForkJoinPool-1-worker-5] WARN io.qameta.allure.selenide.AllureSelenide - Could not get page source
07:35:32 org.openqa.selenium.TimeoutException: java.util.concurrent.TimeoutException
07:35:32 Build info: version: '4.17.0', revision: 'e52b1be057*'
07:35:32 System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.0-17-amd64', java.version: '19.0.2'
07:35:32 Driver info: org.openqa.selenium.chrome.ChromeDriver
07:35:32 Command: [6be42a6f34fcea4c3ad273d84a703d13, getPageSource {}]
07:35:32 Capabilities {acceptInsecureCerts: true, browserName: chrome, browserVersion: 121.0.6167.85, chrome: {chromedriverVersion: 121.0.6167.85 (3f98d690ad7e..., userDataDir: /tmp/.org.chromium.Chromium...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:38083}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://localhost:38083/devtoo..., se:cdpVersion: 121.0.6167.85, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: accept, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
07:35:32 Session ID: 6be42a6f34fcea4c3ad273d84a703d13
07:35:32 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute0(JdkHttpClient.java:402)
07:35:32 at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
07:35:32 at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:55)
07:35:32 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:358)
07:35:32 at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:187)
07:35:32 at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:216)
07:35:32 at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:174)
07:35:32 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:519)
07:35:32 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:592)
07:35:32 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:596)
07:35:32 at org.openqa.selenium.remote.RemoteWebDriver.getPageSource(RemoteWebDriver.java:382)
07:35:32 at io.qameta.allure.selenide.AllureSelenide.getPageSourceBytes(AllureSelenide.java:107)
07:35:32 at io.qameta.allure.selenide.AllureSelenide.lambda$afterEvent$4(AllureSelenide.java:138)
07:35:32 at java.base/java.util.Optional.ifPresent(Optional.java:178)
07:35:32 at io.qameta.allure.selenide.AllureSelenide.afterEvent(AllureSelenide.java:132)
07:35:32 at com.codeborne.selenide.logevents.SelenideLogger.commitStep(SelenideLogger.java:95)
07:35:32 at com.codeborne.selenide.logevents.SelenideLogger.commitStep(SelenideLogger.java:86)
07:35:32 at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:95)
07:35:32 at jdk.proxy2/jdk.proxy2.$Proxy27.getText(Unknown Source)
07:35:32 at interfaces.Report.tblOdometerCheck(Report.java:83)
07:35:32 at vingurus.PrecheckPageTest.crashRecordsInReport(PrecheckPageTest.java:74)
07:35:32 at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
07:35:32 at java.base/java.lang.reflect.Method.invoke(Method.java:578)
07:35:32 at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
07:35:32 at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
07:35:32 at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
07:35:32 at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
07:35:32 at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
07:35:32 at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
07:35:32 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
07:35:32 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
07:35:32 at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
07:35:32 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
07:35:32 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
07:35:32 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
07:35:32 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
07:35:32 at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
07:35:32 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218)
07:35:32 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:35:32 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214)
07:35:32 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139)
07:35:32 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
07:35:32 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
07:35:32 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:35:32 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
07:35:32 at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
07:35:32 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
07:35:32 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
07:35:32 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
07:35:32 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
07:35:32 at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202)
07:35:32 at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
07:35:32 at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
07:35:32 at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1311)
07:35:32 at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1841)
07:35:32 at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1806)
07:35:32 at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
07:35:32 Caused by: java.util.concurrent.TimeoutException
07:35:32 at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
07:35:32 at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
07:35:32 at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute0(JdkHttpClient.java:385)
07:35:32 ... 56 more
07:35:32 Test: crashRecordsInReport() finished
07:35:32 [ForkJoinPool-1-worker-5] INFO com.codeborne.selenide.impl.FileHelper - Deleted empty folder: /home/jenkins/agent/workspace/QA/pipeline--epicvin-qa-autotests-epic-all/build/downloads/1707193208433_15340_64
07:35:32 [ForkJoinPool-1-worker-5] INFO com.codeborne.selenide.drivercommands.CloseDriverCommand - Close webdriver: 64 -> ChromeDriver: chrome on linux (6be42a6f34fcea4c3ad273d84a703d13)...
07:35:59 [ForkJoinPool-1-worker-5] INFO com.codeborne.selenide.drivercommands.CloseDriverCommand - Closed webdriver 64 in 31006 ms
07:35:59 [ForkJoinPool-1-worker-5] INFO com.codeborne.selenide.drivercommands.DisposablesRegistry - Unregister WebDriverInstance[config=StaticConfig, webDriver=ChromeDriver: chrome on linux (null), proxy=null, downloadsFolder=/home/jenkins/agent/workspace/QA/pipeline--epicvin-qa-autotests-epic-all/build/downloads/1707193208433_15340_64] in 64 [size=0]
Настройки параллельного запуска:
junit.jupiter.execution.parallel.enabled = true
junit.jupiter.execution.parallel.config.strategy = fixed
junit.jupiter.execution.parallel.config.fixed.parallelism = 4
junit.jupiter.execution.parallel.mode.default = concurrent
junit.jupiter.execution.parallel.mode.classes.default = same_thread
Base class от которого наследуются все тестовые классы:
public class BaseTest {
public static void setUp() {
Configuration.browser = "chrome";
Configuration.browserSize = "1920x1080";
Configuration.timeout = 90000;
Configuration.pageLoadTimeout = 90000;
Configuration.headless = true;
String userAgentValue = "selenide-test";
System.setProperty("chromeoptions.args", "--user-agent=" + "\"" + userAgentValue + "\"");
System.setProperty("webdriver.http.factory", "jdk-http-client");
SelenideLogger.addListener(
"AllureSelenide", new AllureSelenide().screenshots(true).savePageSource(true));
}
@BeforeEach
public void init() {
setUp();
}
@AfterEach
public void tearDown() throws SQLException {
Selenide.closeWebDriver();
SQLConnection.closeConnection();
}
}
В отчете получаю такую результат: