【发布时间】:2019-06-13 13:04:56
【问题描述】:
我希望以不同的浏览器语言运行我的 selenium 测试。我已经尝试了两个 SO 答案,甚至 BrowserStack 支持都没有成功。
我曾希望这将是一个快速简单的解决方案,但看起来简单的代码以我不理解的方式失败。任何人都可以提供一个工作代码 sn-p,或者一个好主意这个出错的地方吗?
[这个答案]How to set Browser Language using RemoteWebDriver和[这个答案]How to set browser language in selenium remote webdriver capabilities都在下面的代码中试过了:
DesiredCapabilities DesCaps = new DesiredCapabilities();
DesCaps.SetCapability("browserstack.user", "your_user");
DesCaps.SetCapability("browserstack.key", "your_key");
FirefoxProfile fp = new FirefoxProfile();
fp.SetPreference("intl.accept_languages", "en-US");
DesCaps.SetCapability(FirefoxDriver.ProfileCapabilityName, fp);
ChromeOptions options = new ChromeOptions();
options.AddArguments("--lang=en-DE");
DesCaps.SetCapability(ChromeOptions.Capability, options);
RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://hub-cloud.browserstack.com/wd/hub/"), DesCaps, TimeSpan.FromSeconds(500));
driver.Navigate().GoToUrl("http://google.com");
Console.WriteLine("Completed!");
Console.ReadKey();
当我尝试启动驱动程序时收到异常:
OpenQA.Selenium.WebDriverException
HResult=0x80131500
Message=The property '#/' contains additional properties ["BinaryLocation", "LeaveBrowserRunning", "Arguments", "Extensions", "DebuggerAddress", "MinidumpPath", "PerformanceLoggingPreferences", "UseSpecCompliantProtocol", "BrowserName", "BrowserVersion", "PlatformName", "AcceptInsecureCertificates", "UnhandledPromptBehavior", "PageLoadStrategy", "Proxy"] outside of the schema when none are allowed in chromeOptions
Source=WebDriver
StackTrace:
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(Uri remoteAddress, ICapabilities desiredCapabilities, TimeSpan commandTimeout)
【问题讨论】:
标签: c# selenium browserstack remotewebdriver