google - Error "IEDriverServer no existe" durante la ejecución de la prueba de selenio con C#en Windows 7
selenium in chrome browser (7)
Aquí hay un ejemplo simple de C # sobre cómo llamar a InternetExplorerDriver
usando IEDriverServer.exe.
Refactor de acuerdo a sus necesidades.
Nota: el uso de driver.Quit()
que asegura que el proceso IEDriverServer.exe se cierra, una vez que la prueba ha finalizado.
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
}
}
}
Estoy trabajando en el marco de Automatización usando WebDriver con C #. Funciona bien con Firefox pero no con IE.
Estoy teniendo el siguiente error:
IEDriverServer.exe no existe: el archivo c: / users / administrator / documents / visual studio 2010 / projects / TestProject1 / TestProject1 / bin / Debug / IEDriverServer.exe no existe. El controlador se puede descargar en http://code.google.com/p/selenium/downloads/list
Estoy usando IE 9 y 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();
Ver también .
Código para WebDriver usando java para ejecutar con IE. Creo que este concepto podría ser útil para ti al usar 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);
Si el código anterior no funciona, use lo siguiente en lugar de "File file = new File (" C: / Program Files / Internet Explorer / iexplore.exe ");":
File file = new File("F://Ripon//IEDriverServer_Win32_2.25.2//IEDriverServer.exe");
[Nota: la versión de IEDriverServer y Windows (32 o 64 bit) pueden variar de persona a persona]
Dé solo la ruta hasta la carpeta donde se encuentra 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();
}
} }
El IEDriverServer.exe (así como ChromeDriver.exe) se puede descargar desde:
http://selenium-release.storage.googleapis.com/index.html .
Para que funcionen con sus pruebas de Selenium, incluya el .exe en su proyecto de prueba y establezca sus propiedades en ''Copiar siempre''.
NOTA: Deberá ajustar el cuadro de diálogo Agregar archivo para mostrar los archivos .exe.
Hacer esto resolverá el error.
Por Jim Evans (que trabaja en IEDriverServer)
Los enlaces .NET no analizan la variable de entorno% PATH% para el ejecutable. Esto significa que para los enlaces .NET solamente , se espera que IEDriverServer.exe se encuentre en el mismo directorio que el ensamblado de enlaces .NET, o debe especificar el directorio donde se puede encontrar en el constructor para la clase InternetExplorerDriver.
Si no se hace una de estas cosas (o para establecer la propiedad UseInternalServer en la clase InternetExplorerOptions), la implementación del controlador IE .NET generará una excepción. Esto es estrictamente por diseño, ya que queremos que las personas comiencen a usar el IEDriverServer.exe independiente, y la capacidad de usar una versión "interna" o "heredada" del servidor se eliminará en una versión futura.
https://groups.google.com/forum/?fromgroups#!topic/webdriver/EvTyEPYchxE
Si está trabajando con Visual Studio y C #, he actualizado mi paquete NareshScaler nuget para instalar IEDriverServer, ChromeDriver, etc. automáticamente, lo que significa que puede comenzar a trabajar más rápido.
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;
}