如何创建可以找到Chrome或Firefox实例的DesiredCapabilities?

时间:2016-02-12 01:58:18

标签: c# selenium selenium-webdriver selenium-grid

我的集线器上有Firefox和Chrome浏览器。我可以成功申请其中一个。我想在可用的任何一个上运行我的大多数测试,但不是两个(这是应用程序UI回归测试,而不是浏览器支持测试,所以我更喜欢快速完成测试以获得更小的反馈循环)。但是,当我从我的DesiredCapabilities中删除BrowserName功能时,这样:

IWebDriver GetNewBrowser() {
    var capabilities = new DesiredCapabilities {
        Platform = new Platform(PlatformType.Windows)
    };
    return new RemoteWebDriver(hubUri, capabilities);
}

然后Selenium Hub不稳定地抛出了这个:

System.InvalidOperationException : The best matching driver provider
     org.openqa.selenium.ie.InternetExplorerDriver can't create a new
     driver instance for Capabilities [{platform=WINDOWS}]
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 

我不想要最匹配的驱动程序提供商。我想要任何匹配的驱动程序提供程序。我该如何设置?

1 个答案:

答案 0 :(得分:1)

网格上安装的自定义CapabilityMatcher可能就是答案,请参阅this example(Java)。

您可以覆盖DefaultCapabilityMatcher并修补方法以允许请求的browserName属性匹配任何内容(默认行为要求完全匹配) - 或者只是将匹配逻辑重写为您的精确匹配需要。