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



我的中心上有Firefox和Chrome浏览器。我可以成功请求一个或另一个。我想在可用的任何一种上运行大部分测试,但不能同时运行两者(这是针对应用程序 UI 回归测试,而不是浏览器支持测试,所以我更愿意快速完成测试以获得较小的反馈循环(。但是,当我像这样从DesiredCapabilities中删除浏览器名称功能时:

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

然后硒集线器抛出这个摇摇晃晃:

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 

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

网格上安装的自定义CapabilityMatcher可能是答案,请参阅此示例 (Java(。

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

最新更新