...14import net.thucydides.core.webdriver.DriverConfiguration;15import net.thucydides.core.webdriver.WebDriverFactory;16import net.thucydides.core.webdriver.WebdriverManager;17import org.junit.runners.model.FrameworkMethod;18import org.junit.runners.model.InitializationError;19import org.junit.runners.model.Statement;20public class EnhancedSerenityRunner extends SerenityRunner {21 public EnhancedSerenityRunner(final Class<?> klass) throws InitializationError {22 super(klass);23 }24 public EnhancedSerenityRunner(Class<?> klass, Module module) throws InitializationError {25 super(klass, module);26 }27 public EnhancedSerenityRunner(final Class<?> klass, final Injector injector) throws InitializationError {28 super(klass, injector);29 }30 public EnhancedSerenityRunner(final Class<?> klass, final WebDriverFactory webDriverFactory)31 throws InitializationError {32 super(klass, webDriverFactory, Injectors.getInjector().getInstance(DriverConfiguration.class));33 }34 public EnhancedSerenityRunner(final Class<?> klass, final WebDriverFactory webDriverFactory,35 final DriverConfiguration configuration) throws InitializationError {36 super(klass, webDriverFactory, configuration, new BatchManagerProvider(configuration).get());37 }38 public EnhancedSerenityRunner(final Class<?> klass, final WebDriverFactory webDriverFactory,39 final DriverConfiguration configuration, final BatchManager batchManager) throws InitializationError {40 super(klass, webDriverFactory, configuration, batchManager);41 }42 public EnhancedSerenityRunner(final Class<?> klass, final BatchManager batchManager) throws InitializationError {43 super(klass, batchManager);44 }45 public EnhancedSerenityRunner(final Class<?> klass, final WebdriverManager webDriverManager,46 final DriverConfiguration configuration, final BatchManager batchManager) throws InitializationError {47 super(klass, webDriverManager, configuration, batchManager);48 }49 @Override50 protected Statement methodInvoker(FrameworkMethod method, Object test) {51 DataInjector.injectInto(test);52 overrideUrls(method);53 applyFixtures(method);54 Statement statement = super.methodInvoker(method, test);55 return new InvictumStatement(statement);56 }57 private void applyFixtures(FrameworkMethod method) {58 Fixtures fixtures = method.getAnnotation(Fixtures.class);59 if (fixtures != null) {60 for (Fixture fixture : fixtures.value()) {...