2016-02-12 52 views
0

我有我的樞紐提供Firefox和Chrome瀏覽器。我可以成功申請一個或另一個。我想運行大多數的我的測試上兩者是可用的,但不同時(這是應用程序的UI迴歸測試,而不是瀏覽器支持測試,所以我更願意快速完成測試一個較小的反饋迴路)。然而,當我從我的DesiredCapabilities刪除BrowserName能力是這樣的:如何創建可以找到Chrome或Firefox實例的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 

我不想最佳匹配的驅動程序提供商。我想任何匹配的驅動程序提供者。我如何設置?

回答

1

安裝在電網可能是答案的定製CapabilityMatcher,看到this example(爪哇)。

您既可以覆蓋DefaultCapabilityMatcher和補丁,允許請求browserName屬性以匹配任何東西(默認行爲是要求精確匹配)的方法 - 或者只是重寫匹配邏輯到您的具體需求。

+0

感謝那些代碼是有幫助的。它看起來像如果browserName能力爲空應該匹配任何空字符串,'「'或'ANY'。我看到的是因爲它找到的節點排序,但它接着以要求瀏覽器是IE瀏覽器。我不知道是否有決定採用何種瀏覽器確定節點相匹配的能力後,選擇... –

+0

我猜機制還不夠成熟,它允許瀏覽器的名稱的替換,因爲你沒有設定一個步驟一個,IE仍然被認爲是該平臺的默認/備用瀏覽器讓我有想...... –

+0

看起來我需要與集線器或者,也許[此驅動程序提供項目]註冊一個新的自定義DriverProvider(HTTPS。: //github.com/betgenius/selenium-driver-provider)能幫助我。我會檢查它在星期一。 –

相關問題