如何使用RemoteWebDriver设置浏览器语言 [英] How to set Browser Language using RemoteWebDriver

查看:145
本文介绍了如何使用RemoteWebDriver设置浏览器语言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Selenium,并进行了测试,这些测试随机选择了它们运行的​​浏览器. 我进行了一些测试,以测试与国际化相关的功能,因此我需要让浏览器指定浏览器语言.

I'm using Selenium and have tests that randomly choose the browser they run in. I have some test that test functionality related to internationalization, so I need to have the browser specify the browser language.

我的最佳猜测是,我需要在DesiredCapabilities类中使用SetCapability方法,但不确定哪些功能可以有效设置.

My best guess is I need to use SetCapability method as part of the DesiredCapabilities class, but am not sure what capabilities are valid to set.

推荐答案

结论/解决方案

最终我将继续使用Firefox,因为它的支持似乎更加全面.

Ultimately I'll be going with using Firefox as it's support seems to be more thorough.

这是我的解决方案:

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等,在这些情况下似乎只添加了英语(UK). 这是我尝试过的选项及其结果的摘要:

For Chrome, it's support of language is limited to ISO 639-1, meaning it only supports 2 character languages. I attempted for en-au, en-ca, etc and it seems to just add English (UK) in these cases. Here is a summary of the options I tried and their results:

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

这篇关于如何使用RemoteWebDriver设置浏览器语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆