private String getSpecifiedDriver(Class<?> klass) { if (ManagedWebDriverAnnotatedField.hasManagedWebdriverField(klass)) { return ManagedWebDriverAnnotatedField.findFirstAnnotatedField(klass).getDriver(); } else { return null; } }
private static boolean isFieldAnnotated(final Field field) { return (fieldIsAnnotatedCorrectly(field) && fieldIsRightType(field)); }
public static boolean hasManagedWebdriverField(final Class<?> testClass) { try { Iterables.find(fieldsIn(testClass), withCorrectAnnotations()); return true; } catch(NoSuchElementException e) { return false; } }
public static boolean shouldClearCookiesBeforeEachTestIn(Class<?> testClass) { ManagedWebDriverAnnotatedField webDriverField = findFirstAnnotatedField(testClass); return webDriverField.getClearCookiesPolicy() == ClearCookiesPolicy.BeforeEachTest; }
public static boolean isUniqueSession(Class<?> testClass) { ManagedWebDriverAnnotatedField webDriverField = ManagedWebDriverAnnotatedField.findFirstAnnotatedField(testClass); return webDriverField.isUniqueSession(); }
/** * Instantiate the @Managed-annotated WebDriver instance with current WebDriver if the annotated field is present. */ public void injectDriver(final WebDriver driver) { Optional<ManagedWebDriverAnnotatedField> webDriverField = ManagedWebDriverAnnotatedField.findOptionalAnnotatedField(testCase.getClass()); if (webDriverField.isPresent()) { webDriverField.get().setValue(testCase, driver); } }
public void injectDrivers(final WebDriver defaultDriver, final WebdriverManager webdriverManager) { List<ManagedWebDriverAnnotatedField> webDriverFields = findAnnotatedFields(testCase.getClass()); int driverCount = 1; String suffix = ""; for(ManagedWebDriverAnnotatedField webDriverField : webDriverFields) { String driverRootName = isNotEmpty(webDriverField.getDriver()) ? webDriverField.getDriver() : configuredDriverType(); String driverName = driverRootName + suffix; String driverOptions = webDriverField.getOptions(); WebDriver driver = (isEmpty(driverName)) ? defaultDriver : requestedDriverFrom(webdriverManager, webDriverField.getName(), driverName, driverOptions); webDriverField.setValue(testCase, driver); suffix = nextSuffix(driverCount++); } }
/** * Find the first field in the class annotated with the <b>Managed</b> annotation. */ public static Optional<ManagedWebDriverAnnotatedField> findOptionalAnnotatedField(final Class<?> testClass) { try { Field annotatedField = Iterables.find(fieldsIn(testClass), withCorrectAnnotations()); return Optional.of(new ManagedWebDriverAnnotatedField(annotatedField)); } catch(NoSuchElementException e) { return Optional.absent(); } } /**
public static boolean isWebTest(Class<?> testClass) { return ManagedWebDriverAnnotatedField.findOptionalAnnotatedField(testClass).isPresent(); }
/** * Does this class support web tests? * Test cases that support web tests need to have at least a WebDriver field annotated with the @Managed * annotation. */ public static boolean supportsWebTests(Class clazz) { return hasManagedWebdriverField(clazz); }
public static boolean hasManagedWebdriverField(final Class<?> testClass) { try { return fieldsIn(testClass) .stream() .anyMatch(ManagedWebDriverAnnotatedField::isFieldAnnotated); } catch(NoSuchElementException e) { return false; } }
public static boolean isUniqueSession(Class<?> testClass) { ManagedWebDriverAnnotatedField webDriverField = findFirstAnnotatedField(testClass); return webDriverField.isUniqueSession(); }
/** * Instantiate the @Managed-annotated WebDriver instance with current WebDriver if the annotated field is present. */ public void injectDriver(final WebDriver driver) { java.util.Optional<ManagedWebDriverAnnotatedField> webDriverField = findOptionalAnnotatedField(testCase.getClass()); webDriverField.ifPresent(managedWebDriverAnnotatedField -> managedWebDriverAnnotatedField.setValue(testCase, driver)); }
/** * Find the first field in the class annotated with the <b>Managed</b> annotation. */ public static Optional<ManagedWebDriverAnnotatedField> findOptionalAnnotatedField(final Class<?> testClass) { try { Field annotatedField = Iterables.find(fieldsIn(testClass), withCorrectAnnotations()); return Optional.of(new ManagedWebDriverAnnotatedField(annotatedField)); } catch(NoSuchElementException e) { return Optional.absent(); } } /**
public static boolean isWebTest(Class<?> testClass) { return (testClass != null) && findOptionalAnnotatedField(testClass).isPresent(); }
/** * Does this class support web tests? * Test cases that support web tests need to have at least a WebDriver field annotated with the @Managed * annotation. */ public static boolean supportsWebTests(Class clazz) { return ManagedWebDriverAnnotatedField.hasManagedWebdriverField(clazz); }
/** * Find the first field in the class annotated with the <b>Managed</b> annotation. */ static Optional<ManagedWebDriverAnnotatedField> findOptionalAnnotatedField(final Class<?> testClass) { try { return fieldsIn(testClass) .stream() .filter(ManagedWebDriverAnnotatedField::isFieldAnnotated) .map(ManagedWebDriverAnnotatedField::new) .findFirst(); } catch(NoSuchElementException e) { return Optional.empty(); } }
public static boolean isUniqueSession(Class<?> testClass) { ManagedWebDriverAnnotatedField webDriverField = ManagedWebDriverAnnotatedField.findFirstAnnotatedField(testClass); return webDriverField.isUniqueSession(); }
/** * Instantiate the @Managed-annotated WebDriver instance with current WebDriver if the annotated field is present. */ public void injectDriver(final WebDriver driver) { Optional<ManagedWebDriverAnnotatedField> webDriverField = ManagedWebDriverAnnotatedField.findOptionalAnnotatedField(testCase.getClass()); if (webDriverField.isPresent()) { webDriverField.get().setValue(testCase, driver); } }
private static boolean isFieldAnnotated(final Field field) { return (fieldIsAnnotatedCorrectly(field) && fieldIsRightType(field)); }