Как установить язык браузера с помощью RemoteWebDriver

Я использую Selenium, и у меня есть тесты, которые случайным образом выбирают браузер, в котором они работают. У меня есть несколько тестов, которые проверяют функциональность, связанную с интернационализацией, поэтому мне нужно, чтобы браузер указывал язык браузера.

Я думаю, что мне нужно использовать метод SetCapability как часть класса DesiredCapabilities, но я не уверен, какие возможности допустимы для установки.


person alphanumericone    schedule 27.12.2013    source источник


Ответы (1)


Вывод/Решение

В конечном итоге я буду использовать Firefox, поскольку его поддержка кажется более тщательной.

Вот мое решение:

var fp = new FirefoxProfile();
fp.SetPreference("intl.accept_languages", "en-au");
desiredCap.SetCapability(FirefoxDriver.ProfileCapabilityName, fp.ToBase64String());

Для Chrome поддержка языка ограничена ISO 639-1, что означает, что он поддерживает только 2 языка символов. Я попытался использовать en-au, en-ca и т. д., и в этих случаях, похоже, просто добавляется английский (Великобритания). Вот краткое изложение вариантов, которые я пробовал, и их результаты:

var options = new ChromeOptions();
//options.AddArgument("--lang=es"); //espanol
//options.AddArgument("--lang=es-mx"); //espanol (Latinoamerica), espanol
//options.AddArgument("--lang=en-ca"); //english (UK), english (us), english
//options.AddArgument("--lang=en-au"); //english (UK), english (us), english
//options.AddArgument("--lang=en-nz"); //english (UK), english (us), english
//options.AddArgument("--lang=zh"); //english (us), english
//options.AddArgument("--lang=zh-tw"); //Chinese (Traditional Chinese), Chinese, english (us), english
//options.AddArgument("--lang=zh-hk"); //Chinese (Traditional Chinese), Chinese, english (us), english
//options.AddArgument("--lang=zh-cn"); //Chinese (Simplified Chinese), Chinese, english (us), english
options.AddArgument("--lang=fr"); //Francais (France), Francais, english (us), english
//options.AddArgument("--lang=fr-ca"); //Francais (France), Francais, english (us), english
//options.AddArgument("--lang=aus"); //Francais (France), Francais, english (us), english
desiredCap.SetCapability(ChromeOptions.Capability, options);

a

person alphanumericone    schedule 31.12.2013