
org.catools.web.config.CChromeConfigs Maven / Gradle / Ivy
package org.catools.web.config;
import org.catools.common.collections.CList;
import org.catools.common.config.CConfigs;
import org.openqa.selenium.PageLoadStrategy;
public class CChromeConfigs extends CConfigs {
public static String getDriverPath() {
return getConfigs().getStringOrElse(Configs.WEB_CHROME_DRIVER_PATH, "");
}
public static String getBinaryPath() {
return getConfigs().getStringOrElse(Configs.WEB_CHROME_BINARY_PATH, "");
}
public static CList getDefaultArguments() {
CList defaultIfNotSet = CList.of("--disable-extensions",
"--disable-gpu",
"--disable-plugins",
"--disable-infobars",
"--log-level=3",
"--silent",
"--disable-dev-shm-usage",
"--force-device-scale-factor=1");
return getConfigs().getStringsOrElse(Configs.WEB_CHROME_DEFAULT_ARGUMENTS, ",", defaultIfNotSet);
}
public static PageLoadStrategy getPageLoadStrategy() {
return PageLoadStrategy.valueOf(getConfigs().getStringOrElse(Configs.WEB_CHROME_PAGE_LOAD_STRATEGY, PageLoadStrategy.NORMAL.name()));
}
public static CList getPluginsToDisable() {
return getConfigs().getStringsOrElse(Configs.WEB_CHROME_PLUGINS_TO_DISABLE,
getConfigs().getStringOrElse(Configs.WEB_CHROME_PLUGINS_TO_DISABLE_SEPARATOR, ","),
CList.of("Chrome PDF Viewer", "Chrome Automation Extension"));
}
public static CList getPluginsToEnable() {
return getConfigs().getStringsOrElse(Configs.WEB_CHROME_PLUGINS_TO_ENABLE,
getConfigs().getStringOrElse(Configs.WEB_CHROME_PLUGINS_TO_ENABLE_SEPARATOR, ","),
CList.of());
}
public static boolean isInHeadLessMode() {
return getConfigs().getBooleanOrElse(Configs.WEB_CHROME_HEADLESS_ENABLE, false);
}
public static CList getHeadLessArguments() {
CList defaultIfNotSet = CList.of("--no-online",
"--disable-gpu",
"--disable-plugins",
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-dev-shm-usage");
return getConfigs().getStringsOrElse(Configs.WEB_CHROME_HEADLESS_ARGUMENTS, ",", defaultIfNotSet);
}
public static String getChromeMobileEmulationDeviceName() {
return getConfigs().getStringOrElse(Configs.WEB_CHROME_MOBILE_EMULATION_DEVICE_NAME, "");
}
public enum Configs {
WEB_CHROME_DRIVER_PATH, WEB_CHROME_BINARY_PATH, WEB_CHROME_DEFAULT_ARGUMENTS, WEB_CHROME_PAGE_LOAD_STRATEGY, WEB_CHROME_PLUGINS_TO_DISABLE, WEB_CHROME_PLUGINS_TO_DISABLE_SEPARATOR, WEB_CHROME_PLUGINS_TO_ENABLE, WEB_CHROME_PLUGINS_TO_ENABLE_SEPARATOR, WEB_CHROME_HEADLESS_ENABLE, WEB_CHROME_HEADLESS_ARGUMENTS, WEB_CHROME_MOBILE_EMULATION_DEVICE_NAME;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy