我使用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();
也可以看看 。
每吉姆·埃文斯(谁在IEDriverServer作品)
在.NET绑定不扫描可执行文件%PATH%环境变量。 这意味着,对于.NET绑定而已 ,IEDriverServer.exe预计无论是在同一目录中的.NET绑定组件中找到,或者你必须指定它可以在构造函数中的InternetExplorerDriver类中找到的目录。
不这样做的这些东西(或设置在InternetExplorerOptions类的UseInternalServer属性)将导致.NET IE驱动程序实现抛出异常。 这是严格的设计,因为我们希望人们开始使用独立IEDriverServer.exe,并使用一个“内部”或“遗产”的服务器版本的能力将在未来的版本中删除。
https://groups.google.com/forum/?fromgroups#!topic/webdriver/EvTyEPYchxE
该IEDriverServer.exe(以及ChromeDriver.exe)可从以下网址下载:
http://selenium-release.storage.googleapis.com/index.html 。
要获得这些与你的Selenium测试工作,包括在测试项目中的.exe和“始终复制”设置其属性。
注意:您将不得不调整添加文件对话框显示.exe文件。
这样做将解决该错误。
这里有一个如何调用一个简单的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
}
}
}
如果你正在使用Visual Studio和C#的工作我已经更新了我NareshScaler NuGet包来自动安装IEDriverServer,ChromeDriver等,这意味着你可以启动和运行速度更快。
http://nuget.org/packages/NareshScaler
代码用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位)的版本可能会有所不同个体而]
给道路只能做到其中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();
}
} }
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