Я выполняю несколько наборов:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="MasterSuite">
<suite-files>
<suite-file path="testSuite1" />
<suite-file path="testSuite2" />
</suite-files>
</suite>
У меня есть свой собственный TestListener, и я переопределяю методы onStart или onTestFailure . Со мной случилось, что в одном из них было исключение (проблема конфигурации). В этом случае исключение всплывает до выполнения Gradle и останавливает все выполнение. Я хотел бы прекратить выполнение только неправильного набора и продолжить с остальными пакетами. Любая идея?
Я думаю, что единственный вариант здесь - перехватить исключение, но как остановиться на выполнении текущего набора?
Вот исключение:
org.gradle.api.internal.tasks.testing.TestSuiteExecutionException:
Не удалось завершить выполнение для Gradle Test Executor 1. at
org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop (SuiteTestClassProcessor.java:63)
в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
в java.lang.reflect.Method.invoke (Method.java:498) в
org.gradle.internal.dispatch.ReflectionDispatch.dispatch (ReflectionDispatch.java:35)
в
org.gradle.internal.dispatch.ReflectionDispatch.dispatch (ReflectionDispatch.java:24)
в
org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch (ContextClassLoaderDispatch.java:32)
в
org.gradle.internal.dispatch.ProxyDispatchAdapter $ DispatchingInvocationHandler.invoke (ProxyDispatchAdapter.java:93)
на com.sun.proxy. $ Proxy3.stop (неизвестный источник) на
org.gradle.api.internal.tasks.testing.worker.TestWorker.stop (TestWorker.java:120)
в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
в java.lang.reflect.Method.invoke (Method.java:498) в
org.gradle.internal.dispatch.ReflectionDispatch.dispatch (ReflectionDispatch.java:35)
в
org.gradle.internal.dispatch.ReflectionDispatch.dispatch (ReflectionDispatch.java:24)
в
org.gradle.internal.remote.internal.hub.MessageHub $ Handler.run (MessageHub.java:377)
в
org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute (ExecutorPolicy.java:54)
в
org.gradle.internal.concurrent.StoppableExecutorImpl $ 1.run (StoppableExecutorImpl.java:40)
в
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
в
java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624)
at java.lang.Thread.run (Thread.java:748) Причина:
org.openqa.selenium.TimeoutException: timeout (Информация о сеансе:
chrome = 63.0.3239.132) (информация о драйвере: chromedriver = 2.35.528139
(47ead77cb35ad2a9a83248b292151462a66cd881), платформа = Linux
4.9.77-31.58.amzn1.x86_64 x86_64) (ВНИМАНИЕ: сервер не предоставил никакой информации о трассировке стека) Длительность команды или время ожидания: 0
миллисекунды Информация о сборке: версия: '3.5.3', версия: 'a88d25fe6b',
время: '2017-08-29T12: 42: 44.417Z' Системная информация: хост: 'e211dad05a4e',
ip: '172.17.0.4', os.name: 'Linux', os.arch: 'amd64', os.version:
'4.9.77-31.58.amzn1.x86_64', java.version: '1.8.0_151' Информация о драйвере:
org.openqa.selenium.remote.RemoteWebDriver Capabilities
[{mobileEmulationEnabled = false, hasTouchScreen = false, платформа = LINUX,
acceptSslCerts = false, acceptInsecureCerts = false,
webStorageEnabled = true, browserName = chrome, takeScreenshot = true,
javascriptEnabled = true, platformName = LINUX, setWindowRect = true,
surpriseAlertBehaviour =, applicationCacheEnabled = false,
вращающийся = false, networkConnectionEnabled = false,
хром = {chromedriverVersion = 2.35.528139
(47ead77cb35ad2a9a83248b292151462a66cd881),
UserDataDir = / TMP / .org.chromium.Chromium.aeHoaR},
takeHeapSnapshot = true, pageLoadStrategy = normal,unhandledPromptBehavior =, databaseEnabled = false, handlesAlerts = true,
версия = 63.0.3239.132, browserConnectionEnabled = false,
nativeEvents = true, locationContextEnabled = true,
cssSelectorsEnabled = true}] Идентификатор сеанса:
2a478f187f329e2498c98b401ac8131b в
sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод)
в
sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62)
в
sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45)
в java.lang.reflect.Constructor.newInstance (Constructor.java:423)
в
org.openqa.selenium.remote.ErrorHandler.createThrowable (ErrorHandler.java:215)
в
org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed (ErrorHandler.java:167)
в
org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue (JsonHttpResponseCodec.java:40)
в
org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode (AbstractHttpResponseCodec.java:82)
в
org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode (AbstractHttpResponseCodec.java:45)
в
org.openqa.selenium.remote.HttpCommandExecutor.execute (HttpCommandExecutor.java:164)
в
org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:646)
в
org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:703)
в
org.openqa.selenium.remote.RemoteWebDriver $ RemoteNavigation.refresh (RemoteWebDriver.java:962)
в
common.core.listeners.TestListener.onTestFailure (TestListener.java:310)
в
org.testng.internal.TestListenerHelper.runTestListeners (TestListenerHelper.java:67)
в org.testng.internal.Invoker.runTestListeners (Invoker.java:1389)
в org.testng.internal.Invoker.invokeTestMethods (Invoker.java:1042)
в
org.testng.internal.TestMethodWorker.invokeTestMethods (TestMethodWorker.java:125)
в
org.testng.internal.TestMethodWorker.run (TestMethodWorker.java:109)
в org.testng.TestRunner.privateRun (TestRunner.java:648) в
org.testng.TestRunner.run (TestRunner.java:505) в
org.testng.SuiteRunner.runTest (SuiteRunner.java:455) в
org.testng.SuiteRunner.runSequentially (SuiteRunner.java:450) в
org.testng.SuiteRunner.privateRun (SuiteRunner.java:415) в
org.testng.SuiteRunner.run (SuiteRunner.java:364) в
org.testng.SuiteRunnerWorker.runSuite (SuiteRunnerWorker.java:52) в
org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker.java:84) в
org.testng.TestNG.runSuitesSequentially (TestNG.java:1208) в
org.testng.TestNG.runSuitesSequentially (TestNG.java:1204) в
org.testng.TestNG.runSuitesSequentially (TestNG.java:1204) в
org.testng.TestNG.runSuitesSequentially (TestNG.java:1204) в
org.testng.TestNG.runSuitesLocally (TestNG.java:1137) в
org.testng.TestNG.runSuites (TestNG.java:1049) в
org.testng.TestNG.run (TestNG.java:1017) в
org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.runTests (TestNGTestClassProcessor.java:129)
в
org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.stop (TestNGTestClassProcessor.java:88)
в
org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop (SuiteTestClassProcessor.java:61)
... еще 22 * 1015 *