О критериях#

C помощью критериев уточняется результат, который должен вернуть шаг. Примеры, того, как используются критерии:

import static ru.tinkoff.qa.neptune.core.api.steps.Criteria.condition;

public class MyTest {
    
    @Test
    public void myTest() {

        var result = someContext()
                .get(something(/*необходимые параметры*/)
                //Критерий, записанный в свободной форме,
                //в виде пояснительной строки и предиката.
                //Объект ru.tinkoff.qa.neptune.core.api.steps.Criteria 
                // создается внутри вызванного метода.
                .criteria("Some criteria", o -> {/* предикат*/})
                //Критерий, записанный в свободной форме, 
                // в виде пояснительной строки и предиката.
                //Все это явно передано в виде объекта 
                // ru.tinkoff.qa.neptune.core.api.steps.Criteria,
                //созданного статическим методом 
                // ru.tinkoff.qa.neptune.core.api.steps.Criteria#condition
                .criteria(condition("One more criteria", o -> {/* предикат*/}))
            ); 
    }
}

Некоторые модули Neptune включают утильные классы, играющие роль библиотек часто используемых критериев, позволяющие то же самое описывать как в примере ниже

import static ru.tinkoff.qa.neptune.some.module.pack.SomeCriteriaUtil.*;

public class MyTest {
    
    @Test
    public void myTest() {

        var result = someContext()
                .get(something(/*необходимые параметры*/)
                .criteria(someCriteria(/*необходимые параметры*/))
                .criteria(oneMoreCriteria(/*необходимые параметры*/))
            ); 
    }
}

Описание дополнительных опций, которые предоставляют критерии