diff --git a/src/main/java/ru/alfabank/alfatest/cucumber/annotations/Screenshot.java b/src/main/java/ru/alfabank/alfatest/cucumber/annotations/Screenshot.java index 6719664d..d4428402 100644 --- a/src/main/java/ru/alfabank/alfatest/cucumber/annotations/Screenshot.java +++ b/src/main/java/ru/alfabank/alfatest/cucumber/annotations/Screenshot.java @@ -21,8 +21,9 @@ import java.lang.annotation.Target; /** - * Аннотация для элементов страницы, - * служащая для отключения проверки появления элемента после загрузки страницы + * Аннотация для методов, + * наличие которой позволяет снимать скриншот после нужных шагов сценария. + * Доступна при подключении StepFormatter к проеку с тестами */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) diff --git a/src/main/java/ru/alfabank/tests/core/formatters/StepFormatter.java b/src/main/java/ru/alfabank/tests/core/formatters/StepFormatter.java index d4e515d3..a1b3d6f2 100644 --- a/src/main/java/ru/alfabank/tests/core/formatters/StepFormatter.java +++ b/src/main/java/ru/alfabank/tests/core/formatters/StepFormatter.java @@ -38,6 +38,11 @@ import static com.codeborne.selenide.WebDriverRunner.getWebDriver; +/** + * При подключении StepFormatter к проеку с тестами, становится достуна опция снятия скриншотов + * после каждого шага. Для этого необходимо задать системную переменную takeScreenshotAfterSteps=true + * Скриншот так же будет сниматься после каждого метода, помеченного аннотацией @Screenshot + */ @Slf4j public class StepFormatter implements Formatter { public final String SCREENSHOT_AFTER_STEPS = "takeScreenshotAfterSteps"; @@ -57,6 +62,13 @@ private void handleTestStepFinished(TestStepFinished event) { } } + /** + * Метод осуществляет снятие скришота и прикрепление его к cucumber отчету. + * Скриншот снимается после шагов, помеченных аннотацией @Screenshot, + * либо после каждого шага, если задана системная переменная takeScreenshotAfterSteps=true + * @param testStep - текущий шаг + * + */ private void afterStep(TestStep testStep) { String fullMethodLocation = testStep.getCodeLocation(); String currentMethodName = fullMethodLocation.substring(fullMethodLocation.indexOf('.') + 1, fullMethodLocation.indexOf('('));