如何在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的字符串/对象的文档。
答案 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之间的命令超时。