如何在RemoteWebdriver上设置commandTimeout?

时间:2018-11-09 11:14:42

标签: c# selenium-webdriver

如何在Selenium中为RemoteWebdriver设置commandTimeout?

如果我要在ChromeDriver上做同样的事情,我只会做类似的事情:

var service = ChromeDriverService.CreateDefaultService(driverPath);
var options = new ChromeOptions();
driver = new ChromeDriver(service, options, TimeSpan.FromSeconds(120));

..但是当我使用RemoveWebdriver时,这等效于什么?我的第一个猜测是通过使用类似的东西:

var capabilities = DesiredCapabilities.Chrome();
capabilities.SetCapability("Capability-name-here",  TimeSpan.FromSeconds(120));
driver = new RemoteWebDriver(testserver, capabilities);

但是我找不到任何有关可以设置哪些功能以及应该传递给.SetCapability的字符串/对象的文档。

1 个答案:

答案 0 :(得分:2)

RemoteWebDriver的构造函数具有an overload,该参数接受超时参数。因此,远程等效项为:

var options = new ChromeOptions();
var driver = new RemoteWebDriver(testserver, options.ToCapabilities(), TimeSpan.FromSeconds(120);

请注意,此超时是针对本地.NET绑定代码与Java远程Selenium服务器之间的HTTP请求。它可能会或可能不会影响Selenium服务器与其本地实例chromedriver.exe之间的命令超时。