admin管理员组

文章数量:1516870

WebDriver - 设置浏览器启动语言

作者: Max.Bai

时间: 2015/06


WebDriver - 设置浏览器启动语言

有时候开启浏览器需要特别的语言版本,比如,英文的,中文的。

测试时候发现,机器默认启动的是系统语言对应的浏览器,我们的被测网站的中文的,而系统是英文的,开启的浏览器就是英文的,提交的某些数据按照en-US的格式提交了,导致数据报错,那么我们就需要设置浏览器启动语言。


1. Firefox

Firefox 我们可以通过FirefoxProfile 来解决这个问题。

FirefoxProfile ffpf = new FirefoxProfile();
ffpf.SetPreference("intl.accept_languages", "en-GB");
// for FirefoxDriver
driver = new FirefoxDriver(ffpf);
// for remote driver
DesiredCapabilities ffcaps = DesiredCapabilities.firefox();
ffcaps.setCapability(FirefoxDriver.PROFILE, ffpf.toString());
driver = new RemoteWebDriver(new URL(remoteUrl), ffcaps);

2. Chrome

Chrome 需要通过ChromeOptions来解决。

同时chromeoption 也可以解决启动浏览器的时候添加执行的参数, 比如--private。

ChromeOptions op = new ChromeOptions();
op.addArguments("--lang=zh-CN");
// for ChromeDriver
driver = new ChromeDriver(op);
// for remote driver
DesiredCapabilities chromecaps = DesiredCapabilities.chrome();
chromecaps.setCapability("chromeOptions", op);
driver = new RemoteWebDriver(new URL(remoteUrl), chromecaps);

貌似 intl.accept_languages 也可以,没有试验


Chromedriver caps官网



3. IE

IE 就简单了,不用代码解决,直接手动设置IE的语言就可以了,自动化执行的时候就是你设置的语言了,当然你也可以修改注册表来自动化这个问题,具体哪个注册表自己查吧

IE添加添加启动参数可以 使用DesiredCapabilities

DesiredCapabilities iecaps = DesiredCapabilities.internetExplorer();
iecaps.setCapability(InternetExplorerDriver.FORCE_CREATE_PROCESS, true);
iecaps.setCapability(InternetExplorerdriver.IE_SWITCHES, "-private");
// for InternetExplorerDriver
driver = new InternetExplorerDriver(iecaps);
// for remote driver
driver = new RemoteWebDriver(new URL(remoteUrl), iecaps);








本文标签: 器启动语设置浏览编程