Chrome.java
package io.github.giulong.spectrum.drivers;
import io.github.giulong.spectrum.utils.Configuration;
import org.openqa.selenium.chrome.ChromeDriverService;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.service.DriverService;
public class Chrome extends Chromium<ChromeOptions, ChromeDriverService, ChromeDriverService.Builder> {
@Override
public DriverService.Builder<ChromeDriverService, ChromeDriverService.Builder> getDriverServiceBuilder() {
final Configuration.Drivers.Chrome.Service service = configuration.getDrivers().getChrome().getService();
return new ChromeDriverService.Builder()
.withBuildCheckDisabled(service.isBuildCheckDisabled())
.withAppendLog(service.isAppendLog())
.withReadableTimestamp(service.isReadableTimestamp())
.withLogLevel(service.getLogLevel())
.withSilent(service.isSilent())
.withVerbose(service.isVerbose())
.withAllowedListIps(service.getAllowedListIps());
}
@Override
void buildCapabilities() {
final Configuration.Drivers driversConfiguration = configuration.getDrivers();
final Configuration.Drivers.Chrome chrome = driversConfiguration.getChrome();
capabilities = new ChromeOptions().addArguments(chrome.getArgs());
chrome.getCapabilities().forEach(capabilities::setCapability);
chrome.getExperimentalOptions().forEach(capabilities::setExperimentalOption);
setLoggingPreferencesFrom(driversConfiguration.getLogs());
activateBiDi(capabilities, configuration, chrome);
}
}