0

我有一個簡單的測試,打開頁面,單擊一個按鈕並單擊出現的燈箱中的下一個按鈕(我正在通過id查找元素)。 我可以運行這個測試在Visual Studio,它爲IE和Chrome瀏覽器成功通過,但是當我嘗試從CuiseControl.Net迫使它失敗了IE但下列情況除外:Webdriver測試在運行cc.net時失敗,出現ElementNotVisibleException

Test Error : WilcoWebClient.WebdriverTests.RequestTest(IE).TestCreateRequest 
OpenQA.Selenium.ElementNotVisibleException : Element is not displayed 

誰能幫我找出失敗的原因?

我使用:

  • 的Windows Server 2008 R2
  • Selenium.WebDriver 2.39.0
  • Selenium.WEbDriver.IEDriver 2.35.3.3 WebDriver.ChromeDriver.win32
  • 巡航控制:版本:1.8.4.0
+0

更新您的IEDriver是第1步。第2步是確保在兩臺機器上正確設置保護模式設置。第3步向我們展示您在CI服務器上使用的失敗代碼,第4步解釋通過該頁面發生的AJAX,動畫和JavaScript,第5步向您顯示您正在處理的HTML,第6步正在實施一個基本的顯式等待,等待確保元素變得可見,最後第7步考慮用戶是否必須做任何特殊的事情才能看到它。 – Arran

回答

0

我已經安裝了硒服務器,它有幫助。這是我的代碼片段:

public enum Browser 
{ 
    IE, 
    CHROME, 
    REMOTE_IE, 
}; 

private IWebDriver CreateWebdriver(Browser browser) 
    { 
     IWebDriver driver = null; 
     switch (browser) 
     { 
      case Browser.IE: 
       InternetExplorerOptions ieOptions = new InternetExplorerOptions(); 
       ieOptions.IntroduceInstabilityByIgnoringProtectedModeSettings = true; 
       ieOptions.RequireWindowFocus = true; 
       driver = new InternetExplorerDriver(ieOptions); 
       break; 
      case Browser.CHROME: 
       driver = new ChromeDriver(); 
       break; 
      case Browser.REMOTE_IE: 
       driver = new RemoteWebDriver(
        new Uri(Utils.BASE_URL + ":4444/wd/hub"), 
        DesiredCapabilities.InternetExplorer()); 
       break; 
     } 
     if (driver == null) 
     { 
      throw new Exception("Couldn't initialize WebDriver for browser " + browser.ToString()); 
     } 
     return driver; 
    } 
相關問題