org.fluentlenium.configuration.FluentConfiguration Maven / Gradle / Ivy
package org.fluentlenium.configuration;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Configure a FluentLenium test class with this annotation.
*
* @see ConfigurationProperties
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface FluentConfiguration {
/**
* Boolean value used in annotation that can has a third DEFAULT value equivalent to null.
*/
enum BooleanValue {
TRUE(true), FALSE(false), DEFAULT(null);
private final Boolean value;
/**
* Creates a new boolean value.
*
* @param value boolean value
*/
BooleanValue(Boolean value) {
this.value = value;
}
/**
* Get this Boolean value as a {@link Boolean}
*
* @return boolean value
*/
Boolean asBoolean() {
return value;
}
}
/**
* configurationFactory property.
*
* @return configurationFactory
* @see ConfigurationProperties#getConfigurationFactory()
*/
Class extends ConfigurationFactory> configurationFactory() default DefaultConfigurationFactory.class;
/**
* configurationDefaults property.
*
* @return configurationDefaults
* @see ConfigurationProperties#getConfigurationDefaults()
*/
Class extends ConfigurationProperties> configurationDefaults() default ConfigurationDefaults.class;
/**
* webDriver property.
*
* @return webDriver
* @see ConfigurationProperties#getWebDriver()
*/
String webDriver() default "";
/**
* remoteUrl property.
*
* @return remoteUrl
* @see ConfigurationProperties#getRemoteUrl()
*/
String remoteUrl() default "";
/**
* capabilities property.
*
* @return capabilities
* @see ConfigurationProperties#getCapabilities()
*/
String capabilities() default "";
/**
* driverLifecycle property.
*
* @return driverLifecycle
* @see ConfigurationProperties#getDriverLifecycle()
*/
ConfigurationProperties.DriverLifecycle driverLifecycle() default ConfigurationProperties.DriverLifecycle.DEFAULT;
/**
* browserTimeout property.
*
* @return long
* @see ConfigurationProperties#getBrowserTimeout()
*/
long browserTimeout() default 60000L;
/**
* browserTimeoutRetries property.
*
* @return int
* @see ConfigurationProperties#getBrowserTimeoutRetries()
*/
int browserTimeoutRetries() default 2;
/**
* deleteCookies property.
*
* @return deleteCookies
* @see ConfigurationProperties#getDeleteCookies()
*/
BooleanValue deleteCookies() default BooleanValue.DEFAULT;
/**
* baseUrl property.
*
* @return baseUrl
* @see ConfigurationProperties#getBaseUrl()
*/
String baseUrl() default "";
/**
* pageLoadTimeout property.
*
* @return pageLoadTimeout
* @see ConfigurationProperties#getPageLoadTimeout()
*/
long pageLoadTimeout() default -1;
/**
* implicitlyWait property.
*
* @return implicitlyWait
* @see ConfigurationProperties#getImplicitlyWait()
*/
long implicitlyWait() default -1;
/**
* scriptTimeout property.
*
* @return scriptTimeout
* @see ConfigurationProperties#getScriptTimeout()
*/
long scriptTimeout() default -1;
/**
* awaitAtMost property.
*
* @return awaitAtMost
* @see ConfigurationProperties#getAwaitAtMost()
*/
long awaitAtMost() default -1;
/**
* awaitPollingEvery property.
*
* @return awaitPollingEvery
* @see ConfigurationProperties#getAwaitPollingEvery() ()
*/
long awaitPollingEvery() default -1;
/**
* eventsEnabled property.
*
* @return eventsEnabled
* @see ConfigurationProperties#getEventsEnabled()
*/
BooleanValue eventsEnabled() default BooleanValue.DEFAULT;
/**
* screenshotPath property.
*
* @return screenshotPath
* @see ConfigurationProperties#getScreenshotPath()
*/
String screenshotPath() default "";
/**
* htmlDumpPath property.
*
* @return htmlDumpPath
* @see ConfigurationProperties#getHtmlDumpPath()
*/
String htmlDumpPath() default "";
/**
* screenshotMode property.
*
* @return screenshotMode
* @see ConfigurationProperties#getScreenshotMode()
*/
ConfigurationProperties.TriggerMode screenshotMode() default ConfigurationProperties.TriggerMode.DEFAULT;
/**
* htmlDumpMode property.
*
* @return htmlDumpMode
* @see ConfigurationProperties#getHtmlDumpMode()
*/
ConfigurationProperties.TriggerMode htmlDumpMode() default ConfigurationProperties.TriggerMode.DEFAULT;
/**
* Custom properties.
*
* @return array of CustomProperty annotations
* @see ConfigurationProperties#getCustomProperty(String)
*/
CustomProperty[] custom() default {};
}