Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 硒测试不';我不在IE11工作_C#_Testing_Selenium Webdriver_Automated Tests_Internet Explorer 11 - Fatal编程技术网

C# 硒测试不';我不在IE11工作

C# 硒测试不';我不在IE11工作,c#,testing,selenium-webdriver,automated-tests,internet-explorer-11,C#,Testing,Selenium Webdriver,Automated Tests,Internet Explorer 11,我正在C#+Selenium WebDriver上进行自动化测试。我遇到了这个问题,IE11上的测试不起作用,但在Firefox、Chrome和IE10上可以 问题在代码的下一部分: try { (new WebDriverWait(driver, TimeSpan.FromMilliseconds(PAGELOAD_DELAY))). Until(driver1 => ((IJavaScriptExecutor)driver).

我正在C#+Selenium WebDriver上进行自动化测试。我遇到了这个问题,IE11上的测试不起作用,但在Firefox、Chrome和IE10上可以 问题在代码的下一部分:

    try
    {
        (new WebDriverWait(driver, TimeSpan.FromMilliseconds(PAGELOAD_DELAY))).
            Until(driver1 => ((IJavaScriptExecutor)driver).
                ExecuteScript("return document.readyState").Equals("complete"));
    }
    catch (WebDriverTimeoutException ex1) 
VS2015调试器出错:

我试过下一个,但没用

  • 在IE11保护模式下,关闭/打开所有位置
  • 在注册表中添加
    [HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE\U DISABLE\U INTERNAL\U SECURITY\U MANAGER]
    [HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE\U BFCACHE]
  • Selenium WD的不同版本
  • IE11 WebDriver的x32和x64版本
我的测试环境:

  • Windows 8.1 x64
  • VisualStudio 2015
  • Selenium WebDriver 3.0.0 beta2
  • IEDriverServer Win32 2.53.1
  • NUnit 3.4.1
UPD1

  • 已尝试将网站添加到“兼容性视图列表”
  • 尝试
  • 尝试
  • 没有结果,同样的错误

    UPD2

    我创建了一个简单的项目来检查IE11驱动程序。下一个代码是:

        [TestMethod]
        public void TestMethod1()
        {
            IWebDriver driver = new InternetExplorerDriver();
            driver.Navigate().GoToUrl("http://google.com");
            try
            {
                (new WebDriverWait(driver, TimeSpan.FromMilliseconds(10000))).
                Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.Name("q")));
            }
            catch (WebDriverTimeoutException ex)
            { }
            driver.FindElement(By.Name("q")).SendKeys("123");
        }
    
    google页面已打开,但调试过程中出现错误:

        Result StackTrace:  
        at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
           at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
           at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(String mechanism, String value)
           at OpenQA.Selenium.Remote.RemoteWebDriver.FindElementByName(String name)
           at OpenQA.Selenium.By.<>c__DisplayClassa.<Name>b__8(ISearchContext context)
           at OpenQA.Selenium.By.FindElement(ISearchContext context)
           at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(By by)
           at UnitTestProject1.UnitTest1.TestMethod1() in C:\dev\VS2015\Projects\UnitTestProject1\UnitTestProject1\UnitTest1.cs:line 21
        Result Message: 
        Test method UnitTestProject1.UnitTest1.TestMethod1 threw exception: 
        OpenQA.Selenium.NoSuchElementException: Unable to find element with name == q
    
    结果堆栈跟踪:
    在OpenQA.Selenium.Remote.RemoteWebDriver.UnpackantRownerError(响应错误响应)中
    在OpenQA.Selenium.Remote.RemoteWebDriver.Execute(stringdrivercommandtoexecute,Dictionary`2参数)
    在OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(字符串机制,字符串值)
    位于OpenQA.Selenium.Remote.RemoteWebDriver.FindElementByName(字符串名)
    在OpenQA.Selenium.By.c__DisplayClassa.b__8(ISearchContext上下文)中
    在OpenQA.Selenium.By.FindElement(ISearchContext)上
    位于OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(By)
    在C:\dev\VS2015\Projects\UnitTestProject1\UnitTestProject1\UnitTestProject1\UnitTest1.cs中的UnitTestProject1.unittestmethod1()处:第21行
    结果消息:
    测试方法UnitTestProject1.UnitTest1.TestMethod1引发异常:
    OpenQA.Selenium.NoSuchElementException:找不到名为==q的元素
    
    有没有可能在IE11下运行selenium测试,或者它的驱动程序完全崩溃了

    来自测试项目的配置:

    • VisualStudio 2015
    • Nuget Selenium.WebDriver 2.53.1
    • Nuget Selenium.Support 2.53.1
    • Nuget Selenium.WebDriver.IEDriver 2.53.1.1

    检查浏览器的模拟模式

    微软边缘? 11岁


    将其设置为IE 11。

    检查浏览器的模拟模式

    微软边缘? 11岁


    将其设置为IE 11。

    默认模式为Edge。我无法更改IE11中所有会话的默认模式。也许可以从代码中设置,但不确定。我已经将我的网站添加到“兼容性视图列表”中,所以网站应该以IE7模式打开。但我得到了同样的错误。默认模式是Edge。我无法更改IE11中所有会话的默认模式。也许可以从代码中设置,但不确定。我已经将我的网站添加到“兼容性视图列表”中,所以网站应该以IE7模式打开。但我也犯了同样的错误。