#java #selenium #selenium-chromedriver
#java #селен #selenium-chromedriver
Вопрос:
Я использую расширение для своих тестов selenium с помощью chromedriver, но иногда мне нужно отключить (или удалить) расширение из параметров Chrome и запустить chromedriver без каких-либо расширений.
Итак, я пытаюсь реализовать следующую экспериментальную логику, в которой я создаю расширение и немедленно отключаю его:
@BeforeSuite(alwaysRun = true)
public void initCapabilities() {
getOptions().addExtensions("path/to/file");
//getOptions().addArguments("--disable-extensions");//1
System.setProperty("webdriver.chrome.driver", "path/to/driver");
new ChromeDriver(getOptions());
}
...................
private ChromeOptions options = new ChromeOptions();
protected ChromeOptions getOptions() {
return options;
}
Все работает хорошо, но когда я добавляю строку (1), браузер запускается без расширения, и проект немедленно завершается сбоем:
> org.openqa.selenium.WebDriverException: unknown error: failed to wait
> for extension background page to load:
> chrome-extension://lkpgdponleanlidigfljoenpapabebon/background.html
> from unknown error: page could not be found:
> chrome-extension://lkpgdponleanlidigfljoenpapabebon/background.html
> Build info: version: '3.141.59', revision: 'e82be7d358', time:
> '2018-11-14T08:17:03'
Кроме того, я пытался использовать другие способы отключения расширения, но все они неэффективны — браузер открывается с расширением:
getOptions().setExperimentalOption("useAutomationExtension", false);
getOptions().setCapability("chrome.switches", new String[]{"--disable-extensions"});
getOptions().setCapability("chrome.switches", "--disable-extensions");
Как правильно отключить / удалить расширение из chromeoptions?
Возможно, существует какой-либо другой способ?