在通过cc.net运行时,Webdriver测试因ElementNotVisibleException而失败

时间:2014-02-12 22:18:35

标签: internet-explorer selenium cruisecontrol.net cruisecontrol

我有一个简单的测试,它打开页面,单击一个按钮,然后单击出现的灯箱中的下一个按钮(我通过id找到元素)。 我可以在Visual Studio中运行此测试并成功通过IE和Chrome浏览器,但是当我尝试从CuiseControl.Net强制它时,IE失败,但有以下异常:

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

1 个答案:

答案 0 :(得分:0)

我已经安装了selenium服务器并且它有所帮助。这是我的代码:

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;
    }