GsAutomationJUnitInterceptor¶
- abstract class GsAutomationJUnitInterceptor implements InvocationInterceptor, TestExecutionExceptionHandler, LifecycleMethodExecutionExceptionHandler¶
Added in version 1.1.1.
Added in version 1.2.1: Добавлена поддержка скриншотов при возникновении исключений во время выполнения тестов и lifecycle-методов. Добавлено детектирование ошибки на стороне сервера.
Класс, обслуживающий перехват аннотаций
OperиJexl.See also
Constructors¶
GsAutomationJUnitInterceptor¶
- GsAutomationJUnitInterceptor()¶
Methods¶
applyAction¶
- protected abstract void applyAction(ExtensionContext extensionContext, AbstractTestEnvironment.ActionConsumer<AbstractTestEnvironment> actionConsumer)¶
Выполнение метода окружения в контексте фазы теста.
- Parameters:
extensionContext – контекст фазы теста
actionConsumer – метод окружения
- Throws:
Exception– если выполнение метода по каким-то причинам невозможно
createScreenshot¶
- protected abstract void createScreenshot(ExtensionContext context)¶
Added in version 1.2.1.
Создать скриншот браузера.
- Parameters:
context – контекст теста
findServerErrorStackTrace¶
- protected abstract String findServerErrorStackTrace(ExtensionContext context)¶
Added in version 1.2.1.
Найти стектрейс ошибки сервера в диалоге ошибки на стороне клиента.
Метод выполняет поиск dom-элемента диалога ошибки (
data-dialog.class="ERROR") и, при обнаружении, возвращает текст стектрейса из атрибутаdata-error.stacktrace.- Parameters:
context – контекст теста
- Returns:
текст стектрейса ошибки сервера или
null, если диалог ошибки отсутствует
handleAfterAllMethodExecutionException¶
handleAfterEachMethodExecutionException¶
handleBeforeAllMethodExecutionException¶
handleBeforeEachMethodExecutionException¶
handleExceptionWithDiagnostics¶
- protected void handleExceptionWithDiagnostics(ExtensionContext context, Throwable throwable)¶
Added in version 1.2.1.
Создать скриншот браузера и проверить наличие диалога ошибки сервера. При обнаружении диалога — обогатить диагностику стектрейсом сервера. Вариант для методов, объявляющих
throws Throwable.- Parameters:
context – контекст теста
throwable – исходное исключение
- Throws:
Throwable– исходное исключение илиAssertionErrorс диагностикой ошибки сервера
handleExceptionWithDiagnostics¶
- protected void handleExceptionWithDiagnostics(ExtensionContext context, Exception exception)¶
Added in version 1.2.1.
Создать скриншот браузера и проверить наличие диалога ошибки сервера. При обнаружении диалога — обогатить диагностику стектрейсом сервера. Вариант для методов, объявляющих
throws Exception.- Parameters:
context – контекст теста
exception – исходное исключение
- Throws:
Exception– исходное исключение, обёрнутое при необходимости вAssertionError
handleTestExecutionException¶
interceptAfterAllMethod¶
- public void interceptAfterAllMethod(InvocationInterceptor.Invocation<Void> invocation, ReflectiveInvocationContext<Method> invocationContext, ExtensionContext extensionContext)¶
Метод interceptAfterAllMethod получит управление при вызове каждого метода, аннотированного
AfterAll. Обработаются аннотацииOperиJexlи после этого перенаправится выполнение в такой метод.
interceptAfterEachMethod¶
- public void interceptAfterEachMethod(InvocationInterceptor.Invocation<Void> invocation, ReflectiveInvocationContext<Method> invocationContext, ExtensionContext extensionContext)¶
Метод interceptAfterEachMethod получит управление при вызове каждого метода, аннотированного
AfterEach. Обработаются аннотацииOperиJexlи после этого перенаправится выполнение в такой метод.
interceptBeforeAllMethod¶
- public void interceptBeforeAllMethod(InvocationInterceptor.Invocation<Void> invocation, ReflectiveInvocationContext<Method> invocationContext, ExtensionContext extensionContext)¶
Метод interceptBeforeAllMethod получит управление при вызове каждого метода, аннотированного
BeforeAll. Перенаправится выполнение в такой метод и после этого обработаются аннотацииOperиJexl.
interceptBeforeEachMethod¶
- public void interceptBeforeEachMethod(InvocationInterceptor.Invocation<Void> invocation, ReflectiveInvocationContext<Method> invocationContext, ExtensionContext extensionContext)¶
Метод interceptBeforeEachMethod получит управление при вызове каждого метода, аннотированного
BeforeEach. Перенаправится выполнение в такой метод и после этого обработаются аннотацииOperиJexl.
interceptTestMethod¶
- public void interceptTestMethod(InvocationInterceptor.Invocation<Void> invocation, ReflectiveInvocationContext<Method> invocationContext, ExtensionContext extensionContext)¶
Метод interceptTestMethod получит управление при вызове каждого метода, аннотированного
Test. Обработается аннотацияBeforeTest, выполнение направится в метод и после этого обработается аннотацияAfterTest.
resolveMethodNameForScreenshot¶
- protected static String resolveMethodNameForScreenshot(ExtensionContext context)¶
Added in version 1.2.1.
Определить имя метода для файла скриншота.
Для lifecycle-методов (
@BeforeAll,@AfterAll), гдеgetTestMethod()недоступен, возвращаетExtensionContext.getDisplayName().- Parameters:
context – контекст теста
- Returns:
имя метода или lifecycle-фазы