2012-09-06 51 views
4

自從我升級到Firefox 15後,我的Selenium測試已停止工作。我使用的是selenium-firefox-driver-2.25.0和selenium-java-2.25.0。具體來說,測試現在無法「點擊」某些元素,例如GWT下拉菜單中的項目。selenium-firefox-driver 2.25.0無法與Firefox正常工作15

我是唯一有這種問題的人嗎?我認爲Firefox 15對於Selenium來說可能會是「太新」了,而不久之後可能會有一個2.25.1版本發佈,但Firefox 15已經出現一段時間了。

這些測試都可以在Firefox 14.0.1下正常工作。 Selenium是否支持Firefox 15的「本地事件」?

+1

我也有一些問題......它看起來還有其他人也有問題:http://code.google.com/p/selenium/issues/detail?id=4486 – 2012-09-10 15:52:56

回答

1

我遇到過類似的問題:硒測試套件無法在剛更新的ffox(14.0)上啓動。我找到的唯一解決方案是回滾到之前的ffox版本。

1

我已經看到類似的問題與最新版本的火狐(15.0)和當前2.25硒。我有一個基於Javascript的水平菜單,當您將鼠標懸停在菜單標題上時,它會顯示菜單選項。該IWebDriver代碼我使用的是:

var menu = driver.FindElement(By.Id("menuId")); 
var option = driver.FindElement(By.Id("menuItemId")); 

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); 

Actions actions = new Actions(driver); 
actions.MoveToElement(menu, 5, 5).Perform(); 

wait.Until<bool>((d) => 
{ 
    return option.Displayed; 
}); 

option.Click(); 

和正常工作與IE和Chrome而不是Firefox的 - 在「鼠標懸停」(MoveToElement)動作只是從未發生過這樣的菜單項從不可見和測試超時(並失敗)。

當我從NUnit運行測試時,我的測試代碼中內置了一些配置支持,因此我可以控制是直接使用Web驅動程序還是使用WebDriverBackedSelenium(與當然是RC服務器)。這使我要解決與配置的問題,所以,如果我跑在「火狐模式」的測試,我可以調用服務器,然後使用ISelenium接口,而不是像這樣:

selenium.Click("id=menuItemId");

和工作正常。我有一種方法確定測試運行的「模式」並相應地調用特定的點擊動作,即選擇直接使用IWebDriver接口或通過WebDriverBackedSelenium將其包裝,以使用ISelenium接口。

如果Firefox驅動程序在將來開始工作,那麼我可以再次通過配置本地切換到使用Firefox Web驅動程序。