Контексты#

Контекст или инкапсулированные в нем объекты являются аргументами для функций, формируемых шаблонизированными шагами.

package org.my.pack;

import ru.tinkoff.qa.neptune.core.api.steps.SequentialActionSupplier;
import ru.tinkoff.qa.neptune.core.api.steps.SequentialGetStepSupplier;
import ru.tinkoff.qa.neptune.core.api.steps.context.Context;

import static ru.tinkoff.qa.neptune.core.api.steps.context.ContextFactory.*;

public class MyTestContext extends Context<MyTestContext> {//Базовый класс
    //В качестве generic-параметра следует указывать наследующий тип

    //Рекомендуемый способ доступа до объектов контекста.
    public static MyTestContext myTestContext() {
        return getCreatedContextOrCreate(MyTestContext.class);
    }

    //Класс должен иметь объявленный public конструктор без параметров,
    //или класс не должен иметь объявленные конструкторы
    public MyTestContext() {
        super();
        //тут можно инициализировать
        //необходимые ресурсы
    }

    // Простой пример того, как связать шаги,
    // возвращающие результат, с данным контекстом
    public <T> T retrieve(SequentialGetStepSupplier< //Общий класс
        //для всех подобных шагов
        MyTestContext, //контекст как входной параметр
        T, // тип возвращаемого результата
        ?,
        ?,
        ?> getStepSupplier) {
        //Шаг, возвращающий результат, выполняется так.
        return super.get(getStepSupplier); //Данный метод имеет
        //модификаторы protected и final,
        //и предназначен только для
        //внутреннего использования, как в этом примере
    }

    // Простой пример того, как связать шаги,
    // выполняющие действие, с данным контекстом
    public MyTestContext execute(SequentialActionSupplier< //Общий класс
        //для всех подобных шагов
        MyTestContext, //контекст как входной параметр
        ?,
        ?> sequentialActionSupplier) {
        //Шаг-действие выполняется так
        return super.perform(sequentialActionSupplier); //Данный метод имеет
        //модификаторы protected и final,
        //и предназначен только для
        //внутреннего использования, как в этом примере
    }

    //контекст может содержать произвольные
    //добавленные методы
    public Object getSomeResource() {
        return //Возврат какого-нибудь проинициализированного
        // или вычисленного объекта.
    }
}

Здесь описание того, как создавать шаблонизированные шаги.