2014-10-03 56 views
2

我的自動化測試用於平穩運行,但我們將QA環境移至其他服務器,現在測試失敗,因爲它一直嘗試點擊仍在加載和變灰/禁用的元素。這裏是工作的以前的服務器上就好了部分代碼:Selenium Webdriver C#element.Enabled在元素仍然禁用時評估爲true

while (less than 7 seconds) 
if (driver.FindElements(by).Count > 0) 
{ 
     if (driver.FindElement(by).Enabled && driver.FindElement(by).Displayed) 
      break; 
} 
else 
{ go back to while loop } 

的問題是,driver.FindElement(所).Enabled不斷評估爲「真」(我在調試過程中發現)當頁顯然仍然在加載,整個頁面仍然呈灰色,導致驅動程序繼續嘗試點擊灰色元素,然後當然測試失敗,但有一個例外。有沒有人遇到過這種問題?我使用C#和NUnit的Webdriver,在IE中運行測試。謝謝。

回答

1

啓用方法僅適用於輸入元素和單選按鈕。對於非Input元素,使用GetAttribute(「disabled」)。如果disabled =「disabled」,這將返回「true」;如果仍然啓用,則返回null。

相關問題