t.me/atinfo_chat Telegram группа по автоматизации тестирования

Предустановка языка браузера на удалённой машине

Теги: #<Tag:0x00007f07fbaec770>

Цель следующая: запустить инстанс Chrome драйвера c русской локализацией (сейчас по умолчанию запускается англ.) на удалённой машине через Selenium Server.

На Selenium это делается так:

ChromeOptions options = new ChromeOptions();
options.addArguments("--lang=ru-ru");
ChromeDriver driver = new ChromeDriver(options); 

Чтобы избежать создания собственного инстанса драйвера нужно взять текущий, созданный Selenide.
Попытался сделать следующее:

        ChromeOptions options = new ChromeOptions();
        options.addArguments("-lang = ru-ru");

создали настройки. Теперь вроде как нужно получить инстанс дравера.

WebDriver driver = getWebDriver();

Но теперь необходимо как-то “снабдить” полученный экземпляр драйвера options
перед тем как сделать setWebDriver(driver);

Как это можно сделать или какой более простой способ существует запуска драйвера браузера с необходимой локалью?

Заранее спасибо!

            DesiredCapabilities capabilities = DesiredCapabilities.chrome();
			ChromeOptions chromeOptions = new ChromeOptions();
			chromeOptions.addArguments("-lang = ru-ru");
			capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
			setWebDriver(new ChromeDriver(capabilities));

Возможно так

Спасибо, но, к сожалению, так не выйдет, так как new ChromeDriver(capabilities)) создаёт новый инстанс локального web драйвера, а нам нужно запускать на удалённой машине.

Можете попробовать так:

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--lang=ru-ru");
Configuration.browserCapabilities = new DesiredCapabilities(chromeOptions);

Столкнулся с такой же проблемой, удалось как то решить?

chromeOptions.addArguments("--lang=RU")

Помог следующий код

chromeOptions.setCapability(“env”, new ArrayList(){
{
add(“LANG=ru_RU.UTF-8”);
add(“LANGUAGE=ru:RU”);
add(“LC_ALL=ru_RU.UTF-8”);
}
});

@ Dust_Crew а через “Emulation.setLocaleOverride” не пробовали ? https://chromedevtools.github.io/devtools-protocol/tot/Emulation/#method-setLocaleOverride ?