Как я могу указать профиль Chrome, используя только Selenide

Я хочу использовать пользовательский поставщик драйверов с моей конфигурацией. Но в данном случае вместо селенида используется селен. Для этого мне нужно указать путь к chromedriver.exe, но Selenide не требует его скачивания.

Как я могу использовать пользовательский поставщик драйверов без установки

System.setProperty("webdriver.chrome.driver", "path/chromedriver.exe");

Вызов вебдрайвера:

switch (conf_browser) {
        case "chrome":
            Configuration.browser = DriverProviderChrome.class.getName();
            break;

ВебдрайверПровайдер:

public class DriverProviderChrome implements WebDriverProvider {
    @Override
    public ChromeDriver createDriver(DesiredCapabilities capabilities) {
        File adf = new File("drivers");
        System.setProperty("webdriver.chrome.driver", "drivers/chromedriver/win32/75.0.3770.90/chromedriver.exe");
        capabilities = DesiredCapabilities.chrome();
        LoggingPreferences logs = new LoggingPreferences();
        logs.enable(LogType.DRIVER, Level.ALL);
        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.addArguments("--incognito");
        chromeOptions.addArguments("start-maximized");
        chromeOptions.addArguments("disable-infobars");
        chromeOptions.addArguments("--user-data-dir=C:\\Users\\AntonK\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 1");
        chromeOptions.setCapability(CapabilityType.LOGGING_PREFS, logs);
        capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
        TestBase_working.log(capabilities.getVersion());
        chromeOptions.merge(capabilities);
        return new ChromeDriver(chromeOptions);
    }
}

person Anton_Selenium    schedule 14.06.2019    source источник


Ответы (1)


Selenide вызывает WebDriverFactory для загрузки chromedriver в локальный репозиторий maven и инициализирует свойство webdriver.chrome.driver System.

Вы можете автоматически установить путь к драйверу следующим образом:

  WebDriverManager.chromedriver().setup();

Здесь хранится путь к Chromedriver, но имейте в виду, что путь не является статическим, он меняется при автоматическом обновлении драйвера:

WebDriverManager.chromedriver().binaryPath
person Artem    schedule 19.06.2019