package jp.vmi.selenium.testutils;
import java.io.File;
import java.io.FilenameFilter;
import java.util.List;
import org.junit.Assume;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters;
import org.openqa.selenium.remote.UnreachableBrowserException;
import jp.vmi.selenium.webdriver.DriverOptions;
import static org.hamcrest.Matchers.*;
import static org.junit.Assume.*;
/**
* Driver dependent test.
*/
@RunWith(Parameterized.class)
@SuppressWarnings("javadoc")
public abstract class DriverDependentTestCaseTestBase extends TestCaseTestBase {
@Parameters(name = "{index}: {0}")
public static List<Object[]> getWebDriverFactories() {
return TestUtils.getWebDriverFactories();
}
@Parameter
public String currentFactoryName;
protected final FilenameFilter pngFilter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".png");
}
};
@Override
protected void initDriver() {
DriverOptions driverOptions = new DriverOptions();
setWebDriverFactory(currentFactoryName, driverOptions);
try {
driver = manager.get();
} catch (UnreachableBrowserException e) {
Assume.assumeNoException(e);
} catch (UnsupportedOperationException e) {
Assume.assumeNoException(e);
}
}
public void assumeNot(String... factoryNames) {
for (String factoryName : factoryNames)
assumeThat(currentFactoryName, is(not(factoryName)));
}
}