Я использую Cucumber-JVM и пытаюсь делать снимок экрана после каждого шага (в случае сбоя). Проблема в том, что я не знаю, как задать методы, которые будут выполняться до и после каждого шага.
Я использовал https://github.com/cucumber/cucumber-java-skeleton в качестве справки. Я добавил в бегунок https://github.com/cucumber/cucumber-java-skeleton/blob/master/src/test/java/skeleton/RunCukesTest.java BeforeClass и AfterClass (объявления JUnit) и методы, обеспечивающие запуск и остановку webrdiver ( до и после каждого сценария). Я знаю, что могу использовать аннотации до и после (огурцы), но методы с этими аннотациями должны быть помещены в тот же класс, который содержит определения шагов. Проблема в том, что у меня много классов с шагами, поэтому я не хочу помещать эти аннотированные методы в каждый класс шага, мне нужно определить их один раз.
Подскажите, пожалуйста, как это сделать.
[редактировать]
Вот мой бегун
package example;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(
features = "src/test/resources/"
)
public class TodoTest {
@BeforeClass
public static void beforeClass() {
System.setProperty("browser", "chrome");
System.setProperty("remote", "http://localhost:4444/wd/hub");
}
@AfterClass
public static void afterClass() {
}
}
Мне нужно определить методы, которые будут выполняться до и после каждого шага во всем проекте так же, как эти методы для сценариев.