在Windows 7中使用C#运行Selenium测试过程中“IEDriverServer不存在”错

2019-06-25 10:45发布

我使用webdriver的用C#自动化框架工作。 它的做工精细与Firefox,但不与IE浏览器。

我收到以下错误:

IEDriverServer.exe不存在,该文件C:\用户\管理员\文档\ Visual Studio 2010的\项目\ TestProject1 \ TestProject1 \ BIN \调试\ IEDriverServer.exe不存在。 驱动程序可以从以下网址下载http://code.google.com/p/selenium/downloads/list

我使用IE 9和Windows 7。

IWebDriver driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl("http://www.google.co.uk");
IWebElement queryBox = driver.FindElement(By.Name("q"));
queryBox.SendKeys("The Automated Tester");
queryBox.SendKeys(Keys.ArrowDown);
queryBox.Submit();

也可以看看

Answer 1:

每吉姆·埃文斯(谁在IEDriverServer作品)

在.NET绑定不扫描可执行文件%PATH%环境变量。 这意味着,对于.NET绑定而已 ,IEDriverServer.exe预计无论是在同一目录中的.NET绑定组件中找到,或者你必须指定它可以在构造函数中的InternetExplorerDriver类中找到的目录。

不这样做的这些东西(或设置在InternetExplorerOptions类的UseInternalServer属性)将导致.NET IE驱动程序实现抛出异常。 这是严格的设计,因为我们希望人们开始使用独立IEDriverServer.exe,并使用一个“内部”或“遗产”的服务器版本的能力将在未来的版本中删除。

https://groups.google.com/forum/?fromgroups#!topic/webdriver/EvTyEPYchxE



Answer 2:

该IEDriverServer.exe(以及ChromeDriver.exe)可从以下网址下载:

http://selenium-release.storage.googleapis.com/index.html 。

要获得这些与你的Selenium测试工作,包括在测试项目中的.exe和“始终复制”设置其属性。

注意:您将不得不调整添加文件对话框显示.exe文件。

这样做将解决该错误。



Answer 3:

这里有一个如何调用一个简单的C#示例InternetExplorerDriver使用IEDriverServer.exe。

根据您的需要重构。

注意:使用driver.Quit()其确保IEDriverServer.exe过程被关闭时,测试完成后。

using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium.IE;

namespace SeleniumTest
{
    [TestClass]
    public class IEDriverTest
    {
        private const string URL = "http://url";
        private const string IE_DRIVER_PATH = @"C:\PathTo\IEDriverServer.exe";

        [TestMethod]
        public void Test()
        {
            var options = new InternetExplorerOptions()
            {
                InitialBrowserUrl = URL,
                IntroduceInstabilityByIgnoringProtectedModeSettings = true
            };
            var driver = new InternetExplorerDriver(IE_DRIVER_PATH, options);
            driver.Navigate();
            driver.Close(); // closes browser
            driver.Quit(); // closes IEDriverServer process
        }
    }
}


Answer 4:

如果你正在使用Visual Studio和C#的工作我已经更新了我NareshScaler NuGet包来自动安装IEDriverServer,ChromeDriver等,这意味着你可以启动和运行速度更快。

http://nuget.org/packages/NareshScaler



Answer 5:

代码用java与IE浏览器运行的webdriver。 我相信,这个概念可能是你使用C#的帮助:

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);      
File file = new File("C:\\Program Files\\Internet Explorer\\iexplore.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
driver = new InternetExplorerDriver(capabilities);

如果上面的代码不起作用使用以下,而不是“档案文件=新的文件(” C:\ Program Files文件\的Internet Explorer \ IEXPLORE.EXE“);”:

File file = new File("F:\\Ripon\\IEDriverServer_Win32_2.25.2\\IEDriverServer.exe");

[注:IEDriverServer和Windows(32或64位)的版本可能会有所不同个体而]



Answer 6:

给道路只能做到其中Internetexplorer.exe所在的文件夹。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.IE;
using System.IO;

namespace Automation
  {
    class To_Run_IE
     {
        static void Main(string[] args)
        {
         //Keep Internetexplorer.exe in "D:\Automation\32\Internetexplorer.exe"
          IWebDriver driver = new InternetExplorerDriver(@"D:\Automation\32\"); \\Give path till the exe folder
         //IWebDriver driver = new Firefoxdriver()
       driver.Navigate().GoToUrl("http://www.google.com/");
       driver.Manage().Window.Maximize();         
       IWebElement query = driver.FindElement(By.Name("q"));
       query.SendKeys("Cheese");        
       query.Submit();         
       System.Console.WriteLine("Page title is: " + driver.Title);
       driver.Quit();
    }
} }


Answer 7:

      public IWebDriver IEWebDriver()
    {
        var options = new InternetExplorerOptions();
        options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
        webDriver = new   InternetExplorerDriver(ConfigurationSettings.AppSettings["IDEServerPath"].ToString(), options);//Path of ur IE WebDriver,Here I stored it in a AppConfig File
        return webDriver;
   }


文章来源: “IEDriverServer does not exist” error during running Selenium test with C# in Windows 7