@CaptureOnFailure#

Перечисляет классы, расширяющие Captor, чьи объекты создают аттачи, когда щаг завершился выбросом исключения.

@CaptureOnFailure для get-step#

package org.my.pack;

import ru.tinkoff.qa.neptune.core.api.steps.SequentialGetStepSupplier;
import ru.tinkoff.qa.neptune.core.api.event.firing.annotations.CaptureOnFailure;

//Тут следует указывать классы, чьи объекты могут получить данные 
//из M (сделать аттач из значения, от которого нужно было получить 
//результат)
//
// Здесь можно указать несколько классов.
// Можно указать абстрактные классы,
// расширяющие Captor<M, ?>.
// Если в classpath есть их неабстрактные наследники,
// тогда они будут использованы автоматически.
//
// ВАЖНО: Наследники Captor<R, ?> не
// должны иметь объявленных конструкторов,
// или у них должны быть объявлены публичные конструкторы без параметров.
@CaptureOnFailure(by = ExampleCaptor2.class)
public class MyGetStepSupplier<T, R, M, P>
        //любой подходящий наследник
        extends SequentialGetStepSupplier<T, R, M, P, MyGetStepSupplier<T, R, M, P>> {

    //Так же можно делать аттачи из значений нестатических полей
    //заполняемых в ходе выполнения шага
    @CaptureOnFailure(by = {ExampleCaptor4.class})
    private V someValue;
    
    //реализация поведения
}

@CaptureOnFailure для action-step#

package org.my.pack;

import ru.tinkoff.qa.neptune.core.api.event.firing.annotations.CaptureOnFailure;
import ru.tinkoff.qa.neptune.core.api.steps.SequentialActionSupplier;

//Тут следует указывать классы, чьи объекты могут получить данные 
//из T (сделать аттач из значения-входного параметра выполнения действия)
//
// Здесь можно указать несколько классов.
// Можно указать абстрактные классы,
// расширяющие Captor<T, ?>.
// Если в classpath есть их неабстрактные наследники,
// тогда они будут использованы автоматически.
//
// ВАЖНО: Наследники Captor<R, ?> не
// должны иметь объявленных конструкторов,
// или у них должны быть объявлены публичные конструкторы без параметров.
@CaptureOnFailure(by = ExampleCaptor.class)
public class MyActionStepSupplier<T, R> 
    extends SequentialActionSupplier<T, R, MyActionStepSupplier<T, R>> {

    //Так же можно делать аттачи из значений нестатических полей
    //заполняемых в ходе выполнения шага
    @CaptureOnFailure(by = {ExampleCaptor4.class})
    private V someValue;

    //реализация поведения
}